Skip to content

MplusKassa Onboarding Flow

Overview

MplusKassa (Mpluskassa) is a merchant-scoped POS system commonly used in the Netherlands. Unlike Square, MplusKassa does NOT include payment processing - you need a separate payment provider (Stripe or Viva Wallet).

Important: Before connecting MplusKassa, merchants must complete the required setup tasks first (Payment Profile, Billing Profile, Branding Profile). This is crucial because when locations are synced from MplusKassa, they will use the default billing profile's Stripe customer ID and need a branding profile.

Locations: MplusKassa branches are imported automatically during sync. Merchants don't need to create locations manually, but they must complete the location setup before enabling online ordering or kiosk. MplusKassa only provides branch names - all other details must be configured in Upvendo.

Location Completion Requirements

After syncing locations from MplusKassa, each location shows a completion status:

  • 🔴 Incomplete - Missing all required fields
  • 🟡 Partial - Some fields configured
  • 🟢 Ready - All required fields set, ready for online ordering

Required fields for "Ready" status:

  1. Address - Full address with street, city, postal code
  2. Business Hours - At least one day with opening times configured
  3. Geolocation - Latitude/longitude coordinates (auto-filled from address or manual)

Optional but recommended:

  • Contact information (email, phone)
  • Consumer-friendly location name (can rename from branch name like "DEMO")

Note: For Dutch merchants, iDEAL is a recommended payment method (available via Stripe).


Integration Type

  • Scope: Merchant-scoped (connects entire merchant account)
  • Payment Processing: NOT included (requires Stripe or Viva Wallet)
  • Payment Profile: Required (must be set up BEFORE integration)
  • Billing Profile: Required (used for imported locations)
  • Branding Profile: Required (used for imported locations)
  • Menu Sync: Bidirectional (sync both ways)
  • Order Sync: Bidirectional (sync both ways)
  • Location Import: Pull from MplusKassa (branches imported automatically)

Discovery Flow (JSON - for deterministic parsing)

discovery_questions
[
  {
    "id": "channels",
    "text": "What channels do you want to set up with MplusKassa?",
    "options": ["Kiosk only", "Online ordering only", "Both"]
  },
  {
    "id": "menu_ready",
    "text": "Do you already have your menu set up in MplusKassa?",
    "options": ["Yes, my menu is in MplusKassa", "No, I need to create it"]
  }
]
setup_steps
{
  "Kiosk only": [
    {"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand", "required": true},
    {"id": "connect_pos", "title": "Connect MplusKassa and Sync Now", "route": "/mpluskassa", "required": true},
    {"id": "sync_locations", "title": "Sync Locations", "route": "/mpluskassa", "required": true},
    {"id": "complete_location", "title": "Complete Location Details", "route": "/settings/locations", "required": true},
    {"id": "setup_menu_kiosk", "title": "Set up Menu for Kiosk", "route": "/menus", "required": true},
    {"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", "route": "/device-management/devices", "required": true},
    {"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing", "required": false, "note": "Optional - can be set up later."},
    {"id": "payment_profile", "title": "Set up Payment Profile", "route": "/settings/payments", "required": false, "note": "Required to accept customer payments."},
    {"id": "test_kiosk", "title": "Test Kiosk", "required": false}
  ],
  "Online ordering only": [
    {"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand", "required": true},
    {"id": "connect_pos", "title": "Connect MplusKassa and Sync Now", "route": "/mpluskassa", "required": true},
    {"id": "sync_locations", "title": "Sync Locations", "route": "/mpluskassa", "required": true},
    {"id": "complete_location", "title": "Complete Location Details", "route": "/settings/locations", "required": true},
    {"id": "setup_menu_online", "title": "Set up Menu for Online Ordering", "route": "/menus", "required": true},
    {"id": "online_settings", "title": "Set up Online Settings", "route": "/online-settings", "required": true},
    {"id": "configure_online_ordering", "title": "Configure Online Ordering", "route": "/online/online-ordering", "required": true},
    {"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing", "required": false, "note": "Optional - can be set up later."},
    {"id": "payment_profile", "title": "Set up Payment Profile", "route": "/settings/payments", "required": false, "note": "Required to accept customer payments."},
    {"id": "test_online_ordering", "title": "Test Online Ordering", "required": false}
  ],
  "Both": [
    {"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand", "required": true},
    {"id": "connect_pos", "title": "Connect MplusKassa and Sync Now", "route": "/mpluskassa", "required": true},
    {"id": "sync_locations", "title": "Sync Locations", "route": "/mpluskassa", "required": true},
    {"id": "complete_location", "title": "Complete Location Details", "route": "/settings/locations", "required": true},
    {"id": "setup_menu_kiosk", "title": "Set up Menu for Kiosk", "route": "/menus", "required": true},
    {"id": "setup_menu_online", "title": "Set up Menu for Online Ordering", "route": "/menus", "required": true},
    {"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", "route": "/device-management/devices", "required": true},
    {"id": "online_settings", "title": "Set up Online Settings", "route": "/online-settings", "required": true},
    {"id": "configure_online_ordering", "title": "Configure Online Ordering", "route": "/online/online-ordering", "required": true},
    {"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing", "required": false, "note": "Optional - can be set up later."},
    {"id": "payment_profile", "title": "Set up Payment Profile", "route": "/settings/payments", "required": false, "note": "Required to accept customer payments."},
    {"id": "test_kiosk", "title": "Test Kiosk", "required": false},
    {"id": "test_online_ordering", "title": "Test Online Ordering", "required": false}
  ]
}