Pentagon ConnectPentagon ConnectWiki Full wiki PDF

Shopify Integration – Feature & Process Guide

Shopify is different in kind from the other channels Pentagon Connect connects to: it isn't a third-party marketplace with its own buyer traffic, category taxonomy or listing review process — it's a merchant's own storefront. Pentagon Connect connects to a seller's Shopify store much like it connects to BigCommerce or WooCommerce, and the seller's Shopify store is the single source of truth for its own products and orders rather than a shared marketplace catalogue. Because of that, there's no operator/seller/customer permission matrix to document here — the seller, via Pentagon Connect, has full control over their own store's listings, orders and refunds at every stage.

The connection is authorised once, via Shopify's standard app-install (OAuth) flow, and from then on Pentagon Connect reads and writes products, stock, orders, shipments and refunds directly against that store. Shopify stores track inventory by Location (a warehouse, physical store or pickup point); Pentagon Connect discovers a store's Locations and lets the seller choose a single default Location that all stock updates and shipments are pushed to. It does not currently split stock across multiple Locations — see Known Limitations.

Quick Reference

Product Management

Capability Supported Notes
Create new products (with variants and images) Yes Single call creates or updates the product and all its variants together
Update product content (title, description, images, attributes) Yes
Product variants (size/colour/etc.) Yes Each variant becomes its own product record in Pentagon Connect, linked as a group
Multiple product images, incl. per-variant images Yes
Custom attributes / extra product data (metafields) Limited Only simple text-value metafields are supported; one at a time
Product condition (New/Used/Refurbished, etc.) No Shopify has no condition concept — everything is treated as New
Store category assignment (Collections) Partial Adding a product to a collection and downloading collections is supported; renaming/creating a collection from Pentagon Connect is not
Deactivate / remove a listing Yes Deletion is permanent — a deleted product can't be recovered by re-pushing it

Pricing & Stock

Capability Supported Notes
Update price Yes Sent product by product, all variants of a product together
RRP / strike-through pricing Yes Only sent when the RRP is actually higher than the price
Update stock/quantity Yes Sent product by product
Multi-location stock allocation No Stock is pushed to a single, seller-chosen default Location, not split across a store's Locations

Orders & Fulfilment

Capability Supported Notes
Automatic order import Yes Continuous sync; first connection backfills the last 90 days
Billing & shipping address captured Yes Except pickup/in-store orders — see Getting orders
Ship orders (tracking + mark shipped) Yes
Partial shipment Yes An order can be shipped in multiple packages/shipments
Update tracking after shipment Yes
Click & collect / in-store pickup orders Yes (import only) These orders are imported but arrive without a shipping address

Refunds, Returns, Cancellations & Claims

Capability Supported Notes
Order cancellation Yes Full, unshipped orders cancel and refund in one step; anything else is handled as a refund
Full refund Yes
Partial refund (quantity or amount) Yes Available regardless of shipment status
Refund shipping charges Yes A specific amount or a full shipping refund, alongside or separate from a product refund
Returns Yes Handled through the same refund flow, not as a separate return type
Notify customer of shipment/refund Yes Controlled by an account-level toggle; off by default for refunds
Claims / incidents Not applicable Shopify has no marketplace-style claims/incident mechanism — it's the seller's own store

Product Management

Creating products

A product, its variants and its images are created in a single step. There's no separate marketplace-style category/attribute taxonomy to satisfy and no listing review process — once the product data is ready, it goes live on the store directly.

  • Variants: every Shopify variant (e.g. each size/colour combination) is created as its own product record in Pentagon Connect and grouped together, the same way size/colour groups are handled on other channels. A product with only one variant is treated as a simple, non-variant product.
  • Weight is mandatory on every product pushed to Shopify.
  • Brand is sent as free text — Shopify has no brand taxonomy to validate against.
  • Other item specifics (beyond weight and brand) are sent through as tags on the product rather than as structured attributes, since Shopify doesn't have a category-specific attribute system the way marketplaces do.
  • Images can be set at both product and variant level — a shared image across all variants only needs to be set once and the rest inherit it; a distinct image per variant is also supported. Whether images are refreshed on an update is controlled by a per-listing setting, so images can be locked from being overwritten.
  • New products are always pushed as active/live — there's no draft or staged state.

Updating products

Full content updates (title, description, images, attributes) run separately from price and stock updates, so any of the three can be refreshed independently without needing to resend the others.

  • Metafields — Shopify's mechanism for custom/extra product attributes — are supported for simple text values, but each metafield has to be created or updated one at a time (no bulk write), and only the plain single-line-text type is supported out of the many types Shopify offers. When Pentagon Connect re-reads a product's metafields, it reconciles its own records against what Shopify currently has: existing ones are updated and anything that no longer exists on Shopify's side is removed locally.
  • Updating an existing product's images can be switched off per listing, so a listing's photos on Shopify are left untouched even while other content keeps updating.

Deactivating / removing products

Shopify supports permanently deleting a product, and Pentagon Connect uses that hard delete rather than a pause/deactivate state. This is different from most marketplace integrations: once a product is removed this way, it can't be recovered simply by pushing it again — it has to be created from scratch.

Pricing & Stock Sync

  • Price updates are sent product by product, with all of that product's variants included in the same update.
  • RRP / strike-through pricing is only sent to Shopify when an RRP is set and is actually higher than the sale price; otherwise it's left out rather than sent as an invalid value.
  • Stock updates are also sent product by product, though (unlike price) they aren't batched together with other variants in a way that survives a partial failure — if part of an update fails, Pentagon Connect can't always tell which specific variant caused it, so stock is pushed more conservatively than price.
  • Multi-location stock is not split across a store's Locations. A Shopify store's Locations are discovered and made available so the seller can choose a single default Location; all stock updates and shipments go to that one Location rather than being allocated across several warehouses or pickup points.
  • Shopify has no product-condition concept, so every product is treated as New — there's no equivalent of a "condition" field to sync.

Order Management

Getting orders

Orders are pulled in automatically and continuously. On first connection, the last 90 days of order history is backfilled; after that, orders and status changes are kept in sync on an ongoing basis.

One thing worth knowing: orders placed for local pickup or in-store (POS) delivery don't come through with a shipping address at all. Pentagon Connect fills the address in using the address configured on the store's relevant Location; if that Location also has no address on file, the order is still imported, but flagged as Incomplete with a note that the address is missing, rather than silently dropped.

Order information we store

For every order, Pentagon Connect stores:

  • Order ID, order status, currency, order total and subtotal
  • Buyer's billing and shipping address (name, company, address lines, city, state, postal code, country)
  • Carrier, tracking number/URL and shipped date once shipped
  • Per line item: SKU, product title, price, quantity, and that line's own shipped/unshipped/cancelled status

An order's overall status is worked out from its individual lines: if every line has shipped it's marked Shipped, if none have it's Unshipped, if every line is cancelled it's Cancelled, and any mix of shipped, unshipped and cancelled lines is marked Partially Shipped.

Shipping orders

Once an order (or part of an order) is ready, Pentagon Connect sends the carrier and tracking details to Shopify and marks it shipped.

  • Partial shipment is supported — an order can be fulfilled and shipped in more than one package or batch, unlike some marketplace integrations that require a single full shipment.
  • Carrier name is sent as free text; when it matches a carrier Shopify recognises (major couriers such as Royal Mail, UPS, DHL, FedEx, etc.), Shopify automatically generates a tracking link. An unrecognised carrier name is still accepted and stored, just without an automatic tracking link.
  • Tracking can be updated later — if a tracking number is issued or changed after the fact, it can be pushed as an update to the existing shipment rather than needing a new one.

Cancellations

A full cancellation — covering every line of an order at full quantity, before anything has shipped — is handled as a single clean cancel-and-refund action. Any other cancellation scenario (part of an order, or an order that's already shipped) is handled through the refund flow instead, described below, rather than as a true cancellation.

Cancellation reasons available are: Customer Request, Fraud, Out of Stock, Payment Declined, Staff Error, and Other.

Refunds & returns

Refunds can be issued regardless of whether an order has shipped yet, which is a meaningful difference from marketplace channels where refund rights before shipment are often restricted to the marketplace operator. A refund can be:

  • Full or partial, by quantity or amount, on the product lines
  • Shipping-only, either a specific amount or a full shipping refund
  • Product and shipping combined

There's no separate "return" object on Shopify — a customer return is processed as a refund, the same as any other refund scenario. Because it's the seller's own store, there's no operator/seller permission table to apply here: the seller has refund authority on their own orders at every stage, from before shipment through to after delivery.

Claims / incidents

Not applicable. Shopify, as a storefront rather than a marketplace, has no separate claims/incident mechanism the way marketplace operators (who mediate disputes between buyer and seller) do — refunds and returns cover this ground directly.

Known Limitations

  • Stock is not split across multiple Locations. A store's Locations are discovered so a single default can be chosen, but stock updates and shipments all go to that one Location rather than being allocated across several warehouses or pickup points.
  • Metafields are limited to plain text values, one at a time — no bulk writes and no support for Shopify's other metafield types (numbers, dates, references, etc.).
  • Store collections (categories) can't be created or renamed from Pentagon Connect — only adding products to an existing collection and downloading the collection list are supported. Shopify offers no rename operation, and a delete-and-recreate approach would break every product already linked to the old collection.
  • Collections can't be tied to the storefront's navigation menu.
  • Pickup and in-store orders can arrive without a shipping address and depend on the store's Location having one configured, or the order is imported as Incomplete.
  • Very large variant catalogues (stores using Shopify's extended variant model, with very high variant counts on a single product) may take multiple additional calls to fully download.
  • Product/order syncing is additive — items removed on the Shopify side are not automatically detected or cleaned up on the Pentagon Connect side.
  • No product-condition field — every product is treated as New, since Shopify has no condition concept.

Source Materials

This guide was built from Pentagon Connect's Shopify integration specifications covering authentication, product and catalogue management, pricing and stock sync, order retrieval, shipping, cancellations and refunds.