# Shopify

:::tip Available on the Shopify App Store
Frihet has had a public listing on the Shopify App Store since **24 July 2026**: **[apps.shopify.com/frihet-erp](https://apps.shopify.com/frihet-erp)**.
:::

Connect your Shopify store to Frihet. Orders are automatically imported and generate invoices.

## Two ways to connect

| | From the Shopify App Store | From Frihet |
|---|---|---|
| **You start in** | Frihet's public listing on Shopify | Settings → Integrations inside Frihet |
| **Frihet account** | You create it during installation | You already have one |
| **Cost** | No cost. App billing is handled by Shopify | Included in your plan |

Both lead to the same place: your Shopify orders arriving in Frihet as invoices.

## What is it for?

With Shopify integrated:

- **Import orders** — Imports Shopify orders as invoices in Frihet (prefix `SHOP-`)
- **Import products** — Brings your Shopify catalog to Frihet
- **Automatic deduplication** — Already imported orders are not duplicated
- **Client data** — Email, address, and phone are automatically synchronized
- **Automatic payments** — If Shopify processed the payment, Frihet marks the invoice as paid

## Requirements

- **Active Shopify store** — With listed products
- **Admin access** — To authorize the app

## Install from the Shopify App Store

If you don't use Frihet yet, this is the shortest path.

1. Open the listing: **[apps.shopify.com/frihet-erp](https://apps.shopify.com/frihet-erp)**
2. Click **Install**
3. Shopify shows you the permissions Frihet requests (all **read-only**: orders, customers, products, inventory) and you confirm the installation
4. You return to Frihet to **log in or create your account**
5. The store is linked to your workspace

:::info App billing
If you install Frihet from the Shopify App Store, app charges are handled **through Shopify**, not from Frihet. In Settings → Plan you will see a panel specific to this case, and paid plans will not be offered to you inside Frihet.
:::

## Connect Shopify from Frihet

If you already have a Frihet account, you can start from inside the application.

### Step 1: Open Frihet

1. Go to **Settings** → **Integrations**
2. Search for **Shopify**
3. Click **Connect**

### Step 2: Authorize in Shopify

1. Enter your **store name** (e.g.: `mystore` or `mystore.myshopify.com`)
2. Click **Connect to Shopify**
3. You will be redirected to the Shopify authorization page
4. Log in with your Shopify account if you haven't already
5. You will see the permissions Frihet needs, all **read-only**:
   - Read orders
   - Read clients
   - Read products
   - Read inventory
6. Click **Install app**
7. You will automatically return to Frihet with the connection activated

### Step 3: Configure Synchronization

In Frihet, after authorizing:

1. Choose what to synchronize:
   - ✅ **New orders** — Automatic
   - ✅ **Create automatic invoices** — Automatic
   - ⚪ **Synchronize clients** — Optional
   - ⚪ **Synchronize products** — Optional
   - ⚪ **Update inventory** — Optional

2. Save changes

## First Synchronization

The first time:

1. Frihet imports your **last 100 orders** (most recent)
2. Creates clients (if they don't exist)
3. Creates invoices for each order
4. **This takes 2-5 minutes** depending on quantity

Go back to **Billing** → **Invoices** in 5 minutes and you will see your Shopify orders as invoices.

## How Sync Works

### New Order in Shopify

```
1. Client buys from your Shopify store
   ↓
2. Shopify processes the order
   ↓
3. Frihet detects the new order (every 15 minutes)
   ↓
4. Automatically synchronizes to Frihet:
   - Client (if new, creates it)
   - Products
   - Invoice with "Paid" status (if paid in Shopify)
   ↓
5. Appears in your Frihet listing
```

### Synchronized Data

| Data | From Shopify to Frihet |
|------|-------------------|
| Order ID | Invoice number |
| Products | Invoice lines |
| Shopify Price | Unit price |
| Quantity | Quantity |
| Client | Name, email, shipping address |
| Order Date | Invoice Date |
| Payment | Method (card, PayPal, etc.) |
| Shipping | Included as a line if applicable |
| Taxes | Calculated according to jurisdiction |

## Order Statuses

### Shopify → Frihet

| Shopify Status | Frihet Status |
|---------------|---------------|
| Pending | Pending |
| Confirmed | Pending |
| Completed | Paid ✅ |
| Canceled | Canceled |
| Returned | Partially refunded |

## Real Example

### Client buys from your Shopify store

```
Order #1009 in Shopify
Client: María García
Email: maria@example.com
Address: Calle Principal 42, Madrid 28001

Products:
- 1x Blue T-shirt S = €25.00
- 2x Sunglasses = €40.00 each = €80.00

Subtotal: €105.00
Shipping: €5.95
Taxes: €23.19 (21%)
Total paid: €134.14

Payment method: Credit card
```

### In Frihet automatically

```
Invoice #1009
Date: 10 Feb 2025
Client: María García

Lines:
- 1x Blue T-shirt S = €25.00
- 2x Sunglasses = €80.00
- Shipping = €5.95

Subtotal: €110.95
VAT (21%): €23.29 (if configured in Frihet)
Total: €134.24

Status: Paid ✅ (Shopify processed payment)
```

**Created automatically. Without doing anything.**

## Advanced Configurations

### Product Mapping

By default, Frihet imports products as a **line description**. You can:

1. Go to **Settings** → **Shopify**
2. Activate **"Synchronize product catalog"**
3. Frihet creates products in your catalog
4. Future orders use those products (with price updates)

Useful if you want to reuse products in quotes.

### Include/Exclude Specific Orders

You can tell Frihet:

- **"Do not synchronize canceled orders"** — Automatically excludes
- **"Only synchronize after January 1st"** — Only recent orders
- **"Exclude specific client"** — Do not create an invoice for that client

Configure in **Settings** → **Integrations** → **Shopify** → **Advanced filters**

### Taxes and Commissions

Shopify can include:

- **Taxes** — Synchronized as a separate line
- **App fees** — You can exclude them from the invoice
- **Discounts** — Deducted as a separate line

In Frihet you can adjust what to include in the final invoice.

## Client Synchronization

If you activate **"Synchronize clients"**:

- Each new client in Shopify is imported to Frihet
- Email, phone, address are synchronized
- If the client already exists, their information is updated

Useful for having a **unified view** of your clients.

## Product Page

With **"Synchronize products"** active:

1. Frihet imports your Shopify catalog
2. You see all products with:
   - Name
   - Price
   - SKU
   - Description

3. You can use them in new manual invoices (not just orders)

If you change the price in Shopify, it updates automatically.

## Test the Integration

### Test Order

1. Go to your Shopify store
2. Place a test order (as a client)
3. In Frihet, wait **up to 15 minutes**
4. Go to **Billing** → **Invoices**
5. You should see the created invoice

If it doesn't appear:

- Verify that Shopify is connected ✅
- The order in Shopify must have "Completed" status
- Reload Frihet (F5)
- Check **Settings** → **Integrations** → Shopify **Logs**

## Refunds and Cancellations

### Client Cancels Order in Shopify

1. You change status to "Canceled" in Shopify
2. Frihet detects it in the next synchronization
3. The invoice is marked as "Canceled"

### Process Refund in Shopify

If you partially refund:

1. Shopify records the refund
2. Frihet detects it
3. You can automatically create a **credit note** in Frihet
4. Or create manually if you prefer

## Limitations

- **Shopify → Frihet (one-way synchronization)**
  - Frihet only requests **read** permissions on your store: it cannot create, modify or cancel anything in Shopify
  - Changes in Frihet do not synchronize to Shopify
  - If you edit an invoice in Frihet, Shopify is not updated
  - Frihet does not take part in the Shopify checkout

- **Does not synchronize draft orders** — Only completed orders

- **No access to Shopify invoices** — If Shopify generated an invoice, Frihet cannot see it

- **Inventory** — Read-only, no automatic updates

## Troubleshooting

### "I don't see my Shopify orders"

- Wait up to 15 minutes for the first synchronization
- Orders must be in "Completed" or "Processing" status
- Reload Frihet (F5 or Cmd+Shift+R)
- Verify that Shopify is connected in Settings

### "Duplicate invoices"

- Can happen if you synchronized twice
- Delete duplicates from **Billing** (select multiple and "Delete")
- Then disconnect and reconnect

### "Does disconnecting delete my invoices?"

No. Invoices already created in Frihet remain. Disconnecting only:

- Stops new synchronizations
- New Shopify orders are not synchronized

To disconnect:

1. **Settings** → **Integrations** → **Shopify**
2. **Disconnect**
3. Confirm

### "Can I connect multiple Shopify stores?"

Currently, Frihet supports **one Shopify store** per account. If you have multiple:

- Option 1: Create separate Frihet accounts (one per store)
- Option 2: Contact support to inquire about advanced options

## Next Steps

- [Automate workflows with n8n](./n8n)
- [Also connect WooCommerce](./woocommerce)
- [Synchronize payments with Stripe](./stripe)
- [View all Frihet integrations](https://www.frihet.io/es/integrations)

---

**Previous:** [WooCommerce](./woocommerce)
