> ## Documentation Index
> Fetch the complete documentation index at: https://docs.craveup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Square POS

> Connect Square to import your catalog and sync orders.

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

<Steps>
  <Step title="Connect Square via OAuth">
    Authorize Crave to access your Square account.
  </Step>

  <Step title="Select a Square location">
    Map a Square location to your Crave location.
  </Step>

  <Step title="Import your catalog">
    Pull menus, categories, products, and modifiers from Square into Crave.
  </Step>

  <Step title="Accept orders">
    Orders placed on your storefront appear in both Crave and Square.
  </Step>
</Steps>

## 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

1. In the Crave Dashboard, go to **Settings > Integrations > Square**
2. Click **Connect Square**
3. You'll be redirected to Square's OAuth authorization page
4. Grant Crave access to your Square account
5. 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:

1. Go to **Settings > Integrations > Square**
2. Choose from the dropdown of Square locations
3. Click **Save**

Each Crave location maps to exactly one Square location.

## Import your catalog

Once a Square location is selected, import the catalog:

1. Click **Import Catalog** on the integration page
2. Crave pulls all items, categories, and modifier groups from Square
3. Review the imported data in the **Menu Editor**

<Warning>
  Importing overwrites any existing menu data for this location. If you've made manual edits in Crave, export or note them before importing.
</Warning>

### 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:

1. Go to **Settings > Integrations > Square**
2. Click **Disconnect**
3. 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

<Snippet file="need-help.mdx" />
