Appearance
Onboarding Flows
This folder contains structured onboarding flows for different POS/In-House Channel providers. Each onboarding document includes:
- Integration Type - Whether the integration is location-specific or merchant-scoped
- Prerequisites - Global required tasks that must be completed first
- Discovery Questions - Questions Emily asks to understand the merchant's needs
- Conditional Flows - Different setup paths based on answers
- Step-by-Step Instructions - Detailed steps with routes and actions
Integration Types
Location-Specific Integrations (Pull-Only Menu)
Each location must be connected separately. Requires creating a location first, then selecting it from the topbar before connecting.
Menu must exist in POS first - These integrations pull menu items from the POS. If the merchant doesn't have a menu in their POS, onboarding will abort.
- Hendrickx - Belgian POS system
- Vanhoutte - Belgian POS system (same as Hendrickx, uses Kassanet)
- Shopcaisse - Shopcaisse POS
Merchant-Scoped Integrations (Bidirectional Menu)
Connects the entire merchant account. Locations are imported automatically from the POS system.
Menu can be created in either system - These integrations sync menu items bidirectionally. Merchants can create items in the POS or in Upvendo.
- Square - Square POS (includes payment processing - skips Payment Profile)
- MplusKassa - Dutch POS system (requires all prerequisites)
- Lightspeed K-Series - Lightspeed Restaurant K-Series POS (OAuth connection, requires Payment Profile)
Prerequisites (Global Required Tasks)
Before connecting ANY integration, merchants should complete these global tasks:
| Task | Route | Required For |
|---|---|---|
| Payment Profile | /settings/payments | All except Square |
| Billing Profile | /settings/billing | All integrations |
| Branding Profile | /settings/brand | All integrations |
Note: Square handles its own payment processing, so Payment Profile is skipped for Square merchants.
How Onboarding Works
For Location-Specific Integrations (Hendrickx, Vanhoutte, Shopcaisse)
- Emily checks if global prerequisites are complete
- Emily guides merchant to complete any missing prerequisites
- Emily asks merchant to create a location
- Emily reminds merchant to select the location from the topbar
- Emily asks discovery questions (channels, menu status)
- If menu not in POS → Onboarding aborts with message to create menu in POS first
- Emily guides through integration connection
- Emily confirms when setup is complete
For Merchant-Scoped Integrations (Square, MplusKassa, Lightspeed K-Series)
- Emily checks if global prerequisites are complete
- Emily guides merchant to complete any missing prerequisites
- Emily asks discovery questions (channels, menu status)
- Emily guides through integration connection (OAuth for Square and Lightspeed K-Series, API credentials for MplusKassa)
- Square and MplusKassa: Locations are imported automatically from the POS Lightspeed K-Series: Locations must be created manually in Upvendo
- Emily reminds merchant to complete missing location fields (address, coordinates, etc.)
- Emily confirms when setup is complete
Key Differences Summary
| Integration | Scope | Payment Profile | Location Creation | Menu Sync |
|---|---|---|---|---|
| Hendrickx | Location-specific | Required | Manual | Pull-only (must exist in POS) |
| Vanhoutte | Location-specific | Required | Manual | Pull-only (must exist in POS) |
| Shopcaisse | Location-specific | Required | Manual | Pull-only (must exist in POS) |
| Square | Merchant-scoped | Skipped (Square handles payments) | Auto-imported (rich data: address, hours, coordinates, social links) | Bidirectional |
| MplusKassa | Merchant-scoped | Required | Auto-imported (branch names only — merchant completes details) | Bidirectional |
| Lightspeed K-Series | Merchant-scoped | Required (Stripe or Viva Wallet) | Manual — create in Upvendo after connecting | Pull-only (read from Lightspeed) |