Requires the ecommerce-integrations add-on · $29/mo
Manage add-ons
Integrations

Shopify

Sync Shopify orders, refunds, and inventory with Zivvy /v1/sales-orders and /v1/stock-entries.

The snag

Shopify orders live outside the finance system, so inventory decrements and revenue recognition happen twice.

How Zivvy helps

The ecommerce-integrations add-on maps every Shopify orders/create into /v1/sales-orders and mirrors inventory back to Shopify from /v1/items.

What you get

  • Shopify order → /v1/sales-orders with tax + shipping breakout
  • Inventory two-way sync between /v1/items and Shopify variants
  • Refunds create /v1/sales-invoices credit notes

Workflow stream

Shopify orders/create → /v1/sales-orders draft

Common uses

  1. 01

    Shopify orders/create → /v1/sales-orders draft

  2. 02

    Shopify refunds/create → /v1/sales-invoices credit note

  3. 03

    Zivvy stock-entries.submitted → Shopify inventory_level update

Integration code

Open API reference

Create sales order from Shopify

curl -X POST https://integrate.zivvy.xyz/v1/sales-orders \
  -H "Authorization: Bearer $ZIVVY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customer": "Shopify Guest",
    "external_id": "shopify-order-#1042",
    "items": [
      { "item_code": "SKU-001", "qty": 2, "rate": 39.00 }
    ],
    "taxes": [{ "rate": 8.875, "account_head": "Sales Tax - US" }]
  }'

Shopify webhook handler

import { zivvy } from "./zivvy-client";

export async function onShopifyOrder(order) {
  await zivvy.salesOrders.create({
    external_id: `shopify-${order.id}`,
    customer: order.email,
    items: order.line_items.map(li => ({
      item_code: li.sku,
      qty: li.quantity,
      rate: Number(li.price)
    }))
  });
}

API endpoints

POST /v1/sales-ordersPOST /v1/sales-invoicesPATCH /v1/items/{id}POST /v1/stock-entries

Events emitted

HMAC-SHA256 signed webhooks, retried for 24 hours.

  • sales-orders.submitted
  • sales-invoices.submitted
  • items.updated
  • stock-entries.submitted

0

free seats forever

0

card required to start

1

workspace for the workflow

Questions

Ready to try it?

Free plan. Two seats. No card.