SKUs

Before you make any listing. The SKU is how an order finds its artwork, so every order prints with no clicks.

Updated on
SKUs

In short

  • PrintShrimp has two halves that meet at the SKU: the listing tools that put products on Etsy or Shopify, and the fulfilment that prints the orders those listings get. The SKU is the only link between a sale and its artwork.
  • A product has one SKU and one print file per size. Each size’s file gets its own SKU, always product-SKU-size (MSP-001-A4). Sizes, papers and frames are never separate products; the order says which size, paper and frame to use.
  • The listing carries the product SKU: on Etsy, one SKU shared by every size and frame variation; on Shopify, product-SKU-size on each variant. When an order arrives, we match its SKU to the product and print the file for the size ordered.
  • Imported orders match forgivingly (capitals ignored, size endings dropped). API orders match exactly (capitals count, no fallback). Pick one case and keep it.
  • An order whose SKU matches nothing waits as “No product found” until the seller adds artwork by hand. Check every SKU with GET /api-get-product before you list it anywhere.

The model

Take a design saved as the product MSP-001 with files for A4 and A3. We store two size SKUs, MSP-001-A4 and MSP-001-A3. The Etsy listing carries MSP-001 on every variation; a Shopify product carries MSP-001-A4 and MSP-001-A3 on its variants; your own shop’s order sends { "sku": "MSP-001", "size": "A3" }. However the sale arrives, we find MSP-001, take the A3 file, and print it as a print, a framed print or a fine art print depending on what the order says. One file serves all three, and uploading a new file for a size replaces the old one.

A product never needs a file for every size, only for the sizes it sells. An order for a size with no file can’t be paid until one is added, and adding it later fills waiting orders automatically.

Choosing SKUs

  • Letters, numbers, hyphens and underscores only. No spaces.
  • Unique on the account, across products, size SKUs and bundles. A product SKU can’t end in something that looks like one of our size SKUs’ endings for another product, so don’t put a size in a product SKU.
  • Length: up to 50 characters for a product saved through the API, but drafts made in the Listing Hub or through POST /api-bulk-list allow 32. Keep every SKU at 32 or fewer and you never have to think about it.
  • One case, everywhere. API orders look up the saved SKU exactly, so msp-001 on your shop and MSP-001 on PrintShrimp means a Rejected order. Imports forgive capitals; the API doesn’t.
  • Stable. Renaming a product’s SKU renames its size SKUs with it, but every listing still carrying the old SKU stops matching until it is updated too.
  • Never encode size, paper or frame in the SKU. The order carries those.
  • A set of prints gets a bundle SKU (up to 100 characters), which must not already be a product, size or bundle SKU, capitals ignored. See Bundles.

Where the SKU goes

Channel What carries the SKU Notes
Etsy The listing SKU, the same MSP-001 on every size and frame variation A listing whose variations each have their own SKU can’t import automatically. Listing from the Listing Hub does this correctly by itself.
Shopify Each variant’s SKU: MSP-001-A4, MSP-001-A3, plus the frame variants The Listing Hub’s Shopify CSV writes these; “Set up fulfillment” matches Shopify products to PrintShrimp products by SKU and assigns them to us.
eBay The “custom label” field Orders are exported from eBay as a CSV and imported in the app; the custom label is matched as the SKU.
Any other store (CSV) The SKU column of the order CSV the seller uploads Same matching as Etsy.
Your own code (API) products[].sku on POST /api-create-order, with a size Exact match on product-SKU-size. See Sell Prints Anywhere.
Sets The bundle SKU on the listing or the API order Becomes one print per product in the bundle.

How an order finds its artwork

Source Matching
Etsy, Shopify and CSV imports The order’s SKU is compared, ignoring capitals, to every product SKU and size SKU on the account. If nothing matches, a size ending is dropped from the order’s SKU and that product’s file for the ordered size is used. Only the file for the exact size ordered is ever used; another size’s file is never swapped in. Artwork is never chosen by AI; the order check only reads titles, options, personalisation and SKUs to decide size, paper and frame.
API orders in SKU mode We look up exactly product-SKU-size for the size sent, with capitals as saved. No fallback, no AI check. An unknown SKU still creates the order; the item shows "fulfillable": false, "reason_code": "SKU_NOT_FOUND" in GET /api-get-order and the order waits as Rejected.
Bundle SKUs Matched with capitals ignored, from imports and the API alike, and split into one print per product.
Manual orders in the app The seller picks the product; no matching.

What breaks it, and the fix

  • A SKU per size on Etsy (POSTER-A4, POSTER-A3). Orders can’t import automatically. The seller’s Change SKUs tool (Tools → Etsy management) rewrites SKUs across chosen Etsy listings with a preview first: it can strip the size endings so every variation reads POSTER. It is free and needs Etsy connected.
  • Two listings sharing one SKU. Create Orders shows “N listings need a new SKU on Etsy”. We make new unique SKUs and products; the seller clicks “How to fix” → “Fix now”, pastes each new SKU into its listing on Etsy and clicks “Refresh Etsy”. An order caught in the meantime asks “Which design is this order for?”. More than 100 affected listings: the seller emails Max@printshrimp.com.
  • Capitals that differ between your shop and the saved product. Imports still match; API orders don’t. Fix the shop or rename with PUT /api-update-product and new_sku.
  • No file for the size ordered. The item waits for artwork. Add that size with PUT /api-update-product (or the seller uploads it); the waiting order fills in by itself.
  • “No product found.” The SKU matches nothing. The seller’s “Add Image” fixes that one item only; “Create New Product” fills in the order’s SKU so future orders match. From your side, saving a product with that exact SKU does the same.
  • A renamed product SKU with listings still on the old one. Update the listings (Change SKUs on Etsy, the variant SKUs on Shopify, your own catalogue) or keep the old SKU.
  • A deleted product. Future orders for it show “No product found”, and a bundle containing it can’t be ordered until rebuilt. Orders already placed keep their own copy of the artwork.
  • “PrintShrimp Product” switched off on the seller’s template. Listings go out with no print file and every order waits until one is added. Save the product through the API with the listing’s SKU.
  • Personalised listings. The SKU is still needed, but we print the file attached to it, so the seller swaps in the personalised file before paying each order. Auto-pay doesn’t hold personalised orders back.

Check before you list

Before a SKU goes on a listing or into your catalogue, confirm it exists and has a file for every size the listing sells:

curl -s "https://api.printshrimp.com/functions/v1/api-get-product?sku=MSP-001" \
  -H "x-api-key: $PS_API_KEY"

Compare the size values in product.variants with the sizes on sale. A 404 means the SKU isn’t saved; a missing size means an order for it will wait. A listing made through the Listing Hub only gets files for the sizes of the artwork’s shape (A-series, 2:3, 3:4 or 4:5), while the listing can sell every size, so a template that sells sizes outside the artwork’s shape needs those files added with PUT /api-update-product before orders arrive. How to save and update products is on Save Products.

Rules and limits

  • SKU characters: letters, numbers, -, _. Product SKU max 50 (32 for drafts), bundle SKU max 100. Unique per account; POST /api-create-product refuses a duplicate with 409, checking capitals exactly.
  • Size SKUs are always {sku}-{size}, using our size names: A4, 16x20, 30x40cm and so on.
  • An account can hold up to 25,000 products.
  • Uploading a file for a SKU and size fills waiting order items automatically, except bundle prints and items caught by duplicate SKUs.
  • Bulk Add Sizes in the app needs each file name to be the exact product SKU, capitals included; Bulk Upload makes each file name the product name and SKU.

What this page doesn’t cover

Next

Previous: Sell Prints Anywhere · Next: Save Products · Back to the hub: PrintShrimp for AI agents

Last updated 19 October 2026.

CoFounder
Updated on