Appearance
Square Onboarding (Reseller)
Overview
Streamlined onboarding flow for resellers onboarding merchants with Square POS. Merchant-scoped integration with built-in payment processing — no separate payment provider needed.
Key points for resellers:
- No Payment Profile setup — Square handles kiosk payments (Square Terminal) and online payments (Square Web Payments SDK)
- Locations auto-import from Square with address, business hours, coordinates, timezone, currency, and social links pre-filled
- Branding Profile still needed — Square does not provide colors, fonts, or logos. Social links are pre-filled from Square.
- Menu syncs automatically after connecting — no separate sync step needed (menu, categories, modifiers, inventory all sync on first connect)
Discovery Flow (JSON - for deterministic parsing)
discovery_questions
[
{
"id": "channels",
"text": "Which channels for this merchant?",
"options": ["Kiosk only", "Online ordering only", "Both"]
},
{
"id": "menu_ready",
"text": "Does the merchant have their menu set up in Square?",
"options": ["Yes, menu is in Square", "No, will create in Upvendo"]
}
]setup_steps
{
"Kiosk only": [
{"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand", "required": true, "note": "Square imports social links but not colors/fonts/logo."},
{"id": "connect_pos", "title": "Connect Square", "route": "/square", "modal_type": "SquareConnectDialog", "required": true, "note": "OAuth connects the merchant's Square account. Locations, menu, and inventory import automatically."},
{"id": "complete_location", "title": "Review Imported Locations", "route": "/settings/locations", "required": true, "note": "Most fields are pre-filled from Square. Verify details and add delivery zones if needed."},
{"id": "in_house_settings", "title": "Set up In-House Settings", "route": "/in-house/settings", "required": true},
{"id": "device_profile", "title": "Set up Device Profile", "route": "/device-management/profiles", "required": true},
{"id": "configure_kiosk", "title": "Configure Kiosk and Pair Square Terminal", "route": "/device-management/devices", "required": true, "note": "Generate a device code in Upvendo and enter it on the Square Terminal for payment pairing."},
{"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing", "required": false, "note": "Optional if reseller invoices merchant directly."},
{"id": "test_integration", "title": "Go Live", "route": "/orders", "required": false}
],
"Online ordering only": [
{"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand", "required": true, "note": "Square imports social links but not colors/fonts/logo."},
{"id": "connect_pos", "title": "Connect Square", "route": "/square", "modal_type": "SquareConnectDialog", "required": true, "note": "OAuth connects the merchant's Square account. Locations, menu, and inventory import automatically."},
{"id": "complete_location", "title": "Review Imported Locations", "route": "/settings/locations", "required": true, "note": "Most fields are pre-filled from Square. Verify details and add delivery zones if needed."},
{"id": "configure_online_ordering", "title": "Configure Online Ordering", "route": "/pickup-and-delivery/online-ordering", "required": true, "note": "Online payments use Square Web Payments SDK — no Stripe or Viva Wallet setup needed."},
{"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing", "required": false, "note": "Optional if reseller invoices merchant directly."},
{"id": "test_online_ordering", "title": "Go Live", "route": "/pickup-and-delivery/online-ordering", "required": false}
],
"Both": [
{"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand", "required": true, "note": "Square imports social links but not colors/fonts/logo."},
{"id": "connect_pos", "title": "Connect Square", "route": "/square", "modal_type": "SquareConnectDialog", "required": true, "note": "OAuth connects the merchant's Square account. Locations, menu, and inventory import automatically."},
{"id": "complete_location", "title": "Review Imported Locations", "route": "/settings/locations", "required": true, "note": "Most fields are pre-filled from Square. Verify details and add delivery zones if needed."},
{"id": "in_house_settings", "title": "Set up In-House Settings", "route": "/in-house/settings", "required": true},
{"id": "device_profile", "title": "Set up Device Profile", "route": "/device-management/profiles", "required": true},
{"id": "configure_kiosk", "title": "Configure Kiosk and Pair Square Terminal", "route": "/device-management/devices", "required": true, "note": "Generate a device code in Upvendo and enter it on the Square Terminal for payment pairing."},
{"id": "configure_online_ordering", "title": "Configure Online Ordering", "route": "/pickup-and-delivery/online-ordering", "required": true, "note": "Online payments use Square Web Payments SDK — no Stripe or Viva Wallet setup needed."},
{"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing", "required": false, "note": "Optional if reseller invoices merchant directly."},
{"id": "test_integration", "title": "Go Live", "route": "/orders", "required": false}
]
}