Crave integrates with Square POS to import your existing catalog (menus, categories, products, modifiers) and keep orders in sync. This guide covers the full setup flow.
How it works
Connect Square via OAuth
Authorize Crave to access your Square account.
Select a Square location
Map a Square location to your Crave location.
Import your catalog
Pull menus, categories, products, and modifiers from Square into Crave.
Accept orders
Orders placed on your storefront appear in both Crave and Square.
Prerequisites
- A Crave account with at least one location
- A Square account with a catalog set up
- Dashboard access (admin or owner role)
Connect Square
- In the Crave Dashboard, go to Settings > Integrations > Square
- Click Connect Square
- You’ll be redirected to Square’s OAuth authorization page
- Grant Crave access to your Square account
- After authorization, you’re redirected back to the Dashboard
The connection status appears on the integration page:
| Status | Meaning |
|---|
connected | OAuth successful, ready to select a location |
disconnected | Not connected or authorization revoked |
error | Connection issue — try reconnecting |
Select a Square location
After connecting, Crave fetches your Square locations. Select the one that corresponds to your Crave location:
- Go to Settings > Integrations > Square
- Choose from the dropdown of Square locations
- Click Save
Each Crave location maps to exactly one Square location.
Import your catalog
Once a Square location is selected, import the catalog:
- Click Import Catalog on the integration page
- Crave pulls all items, categories, and modifier groups from Square
- Review the imported data in the Menu Editor
Importing overwrites any existing menu data for this location. If you’ve made manual edits in Crave, export or note them before importing.
What gets imported
| Square concept | Crave equivalent |
|---|
| Item | Product |
| Category | Category |
| Modifier list | Modifier group |
| Modifier | Modifier item |
| Variation | Product variant (mapped to modifiers) |
| Image | Product image |
What does NOT sync
- Pricing changes: Re-import to update prices from Square
- Real-time inventory: Crave doesn’t track Square stock levels in real-time
- Square discounts: Crave has its own discount system
Disconnect Square
To remove the integration:
- Go to Settings > Integrations > Square
- Click Disconnect
- Confirm the action
Disconnecting does NOT delete imported menu data. Your products, categories, and modifiers remain in Crave.
API reference
These admin endpoints power the Square integration:
| Method | Path | Description |
|---|
POST | /locations/:id/integrations/square/oauth | Start OAuth flow |
GET | /locations/:id/integrations/square | Get integration status |
GET | /locations/:id/integrations/square/locations | List Square locations |
POST | /locations/:id/integrations/square/locations | Set active location |
POST | /locations/:id/integrations/square/catalog/import | Import catalog |
DELETE | /locations/:id/integrations/square | Disconnect |
Troubleshooting
OAuth redirect fails
- Ensure your browser allows popups/redirects from
connect.squareup.com
- Clear cookies and try again
- If using a VPN, Square may block the connection — try without VPN
Import missing items
- Verify items are published in your Square catalog (draft items are skipped)
- Check that items have a price — priceless items cannot be imported
- Re-run the import to pick up newly added items