CS SOP Dashboard
General Β· Platform & Operations

General Instructions

Start here. How the flows work, how Servicepoint works, and how to log everything β€” the foundation every other SOP builds on.

A. How the flows work and how to apply them

This video covers the fundamentals: how to find and insert the right template, how to read each flow, and how the SOPs fit together. Watch this before doing anything else β€” everything else in the dashboard assumes you already know what's in here.

πŸŽ₯
Loom: How the flows actually work and how to apply them Must watch
What you'll learn: how to find and insert templates, how to read a decision flow, how to follow a ladder, and how the different SOPs connect when a case crosses between them. If you only watch one video in this dashboard, make it this one.

B. Servicepoint

Servicepoint is the supplier-side platform where orders are quoted, processed, and shipped. Below is everything you need to monitor and act on daily.

πŸŽ₯
Loom: Servicepoint platform walkthrough Must watch
Watch this before reading the rest of the section. It explains how Servicepoint actually works in practice β€” the written notes below are a reference, not a replacement.

Supplier notes

The supplier notes section in Servicepoint contains all updates from suppliers about orders, including delays and out-of-stock notifications. Check this regularly β€” it's your primary source of supplier info when following up on tickets.

Order statuses you'll act on

These are the statuses where CS needs to take action directly.

πŸ“ Address errors

An address error is preventing the order from being processed. This is a CS-owned fix.

  1. Ask the customer for the correct address (use the Special Cases SOP β€” Missing Address or Address Change as appropriate).
  2. Once you have the correct address, click See more on the order in Servicepoint.
  3. Scroll down, click the pencil icon, and enter the correct address.
  4. The order will then be processed immediately.

Order statuses β€” FYI only

You don't need to take action on these, but it helps to recognize them. If you see any of these blocking a customer ticket, flag it in the team chat so the back-end team can resolve it.

πŸ“‹ Not quoted

The product hasn't been quoted by a supplier yet. Three possible reasons: no bids received, bids received but no supplier selected, or the requested variant isn't available.

The back-end team handles this. If a customer is asking about delivery timing on an affected order, let them know we're sourcing it and flag in the team chat.

⏸️ Holds

The order is paused β€” either a new price needs approval, or a supplier still has to be selected.

Also back-end owned. Once resolved, the order ships automatically. Flag in the team chat if it's blocking a ticket.

C. Logging

Two separate sheets, one for each kind of activity. Pick the right one based on what triggered the log entry.

The split Supply chain sheet β†’ every supplier / fulfillment team contact (delays, cancellations via Servicepoint, wrong/damaged investigations, completed exchanges, etc.).
Returns sheet β†’ every return action (Return Flow templates, escalations, refused returns).
Never mix the two.

C1 β€” Supply Chain Sheet

Use this whenever the supplier or fulfillment team is contacted. Gives the team a single, scannable view of every supplier interaction across all orders.

When to log here

Trigger Which SOP
Flagging a 3+ day order with no tracking Tracking β€” Tracking | 2. Not assigned
Investigating a 10+ day no-movement order Tracking β€” Tracking | 3
Following up after fulfillment confirms shipment Tracking β€” Tracking | 2. Not assigned – follow up
Asking the supplier to confirm a delayed second parcel Special Cases β€” Missing Item (Branch 2)
Raising a wrong / damaged item case Wrong / Damaged Item β€” Step 2 β†’ 3
Cancelling an order via Servicepoint (direct or dispute) Cancellations
Completing an exchange (Exchange | 3 sent + replacement placed) Returns & Exchanges β€” Exchange Flow

What to log

  • Date of the contact
  • Order number
  • Store / brand
  • Reason for contact (delay, missing item, cancellation, etc.)
  • Supplier response (or "awaiting reply")
  • Status (open / resolved)
  • Your name / initials
πŸŽ₯
Loom: How to log a supplier contact in the supply chain sheet
Paste Loom embed code or share URL here e.g. <iframe src="https://www.loom.com/embed/..."></iframe>

C2 β€” Returns Sheet

Use this for every return action β€” any template sent in the Return Flow, escalations, and refusals. Exchanges don't go here β€” they go in the supply chain sheet (since the supplier processes the replacement order).

When to log here

Trigger Which SOP
Sending any Return Flow template (Return | 1 β†’ Return | 4) Returns & Exchanges β€” Return Flow
Sending Return | Escalation for a chargeback / dispute Returns & Exchanges β€” Edge Cases
Refusing a return (outside window or non-returnable) Returns & Exchanges β€” Refusals

What to log

  • Date of the action
  • Order number
  • Store / brand
  • Type (return / exchange / refusal / escalation)
  • Last template sent (so the next VA knows where in the ladder you are)
  • Outcome (gift card accepted / 20% accepted / refunded / exchange completed / refused / awaiting reply)
  • Your name / initials
πŸŽ₯
Loom: How to log a return in the returns sheet
Paste Loom embed code or share URL here e.g. <iframe src="https://www.loom.com/embed/..."></iframe>

Golden Rules

  • Check Servicepoint supplier notes when following up on customer tickets about delays or stock.
  • Fix address errors yourself β€” this is a CS-owned action.
  • Flag Not quoted / Holds in the team chat if they're blocking a customer ticket β€” don't try to resolve them.
  • Log every supplier / fulfillment contact in the supply chain sheet; log returns in the returns sheet.
SOP Β· Returns & Exchanges

Returns & Exchanges

How to handle every return and exchange request, and which template to use.

⏳ Check the 30-day return window FIRST Before doing anything else, check whether the order is still within the 30-day return window.
  • The window starts on the delivery date (when the parcel arrived at the customer) β€” not the order date.
  • If the customer emails us within 30 days of delivery β†’ proceed with the normal return flow.
  • If they email us after 30 days β†’ use Return | Refused (outside return window). No exceptions.
Look up the delivery date in Shopify / the tracking before replying β€” don't rely on the customer's word.

πŸ“Š Logging: returns β†’ returns sheet Β· exchanges β†’ supply chain sheet. See General Instructions β†’ Logging.

1. Decision Flow

Every return/exchange conversation starts at one of three entry points:

flowchart TD A["πŸ“§ Customer email"]:::entry A --> B{"What do they want?"} B -->|"Mentions quality
issue upfront"| Q["Return | 1
Gift card"]:::return B -->|"Wants to return
(no reason given)"| R0["Return | 0
Ask for details"]:::ask B -->|"Wants to exchange"| EX1["Exchange | 1
Right size or
return proposal"]:::exchange R0 --> R0R{Reason?} R0R -->|Quality issue| Q R0R -->|Size issue| EX1 EX1 --> EX1R{Size available?} EX1R -->|"Accept
(size in stock)"| EX2["Exchange | 2
Confirm size &
fee payment link"]:::exchange EX1R -->|"Reject
(not available)"| Q EX2 --> PAY{Fee paid?} PAY -->|Yes| EX3["Exchange | 3
Confirm paid fee"]:::exchange Q --> LADDER[↓ Enter Return Flow ↓]:::ladder classDef entry fill:#eff6ff,stroke:#2563eb,stroke-width:2px,color:#1e3a8a classDef ask fill:#fffbeb,stroke:#b45309,color:#78350f classDef return fill:#fef2f2,stroke:#b91c1c,color:#7f1d1d classDef exchange fill:#ecfdf5,stroke:#0d9668,color:#064e3b classDef ladder fill:#f3f4f6,stroke:#6b6b6b,color:#1a1a1a,stroke-dasharray: 4 4
πŸŽ₯
Loom: Full SOP walkthrough (optional overview)

2. Decision Table (the 90% use case)

Customer's first message sounds like… Start with Then depending on their reply…
"Item is defective / broken / bad quality / not as described" Return | 1 If they refuse β†’ go to the Return Flow (Β§3)
"I want to return" β€” no reason given Return | 0 Route based on reason: quality β†’ Return | 1 Β· size β†’ Exchange | 1
"Wrong size" / "doesn't fit" / "need a different size" Exchange | 1 Size in stock & they accept β†’ Exchange | 2 Β· Not available β†’ Return | 1
"Can I exchange for a different product/color?" Exchange | 1 Same as above β€” check stock, then Exchange | 2 or Return | 1
Customer paid the exchange fee Exchange | 3 Place replacement order in Shopify, mark ticket solved
Customer mentions chargeback, dispute, or legal action Return | Escalation The 60% refund de-escalates most cases
Order stuck β€” no shipping address Special | Missing Address | 1 See Special Cases SOP for full flow
Return request >30 days after delivery date Return | Refused (outside return window) Refuse. No exceptions.
Non-returnable item (underwear, swimwear, sale items) Return | Refused (non-returnable item) Close politely.

3. Return Flow

When a customer wants a refund, work through these templates in order. Always wait for the customer's reply before sending the next template. Never skip steps.

1
Return | 1 Soft save β€” offer store credit instead of a refund. Many customers accept this.
2
Return | 2 Sent after the customer refuses the gift card. Partial refund, they keep the product.
3
Return | 3 If they still refuse β€” higher discount, same deal: they keep the product.
4
Return | 4 Final follow-up if the customer doesn't reply to Return | 3. Reminds them the previous offer is still open. This is the end of the return flow.
Return | Escalation is NOT part of this flow The escalation template is reserved only for customers who threaten a chargeback, payment dispute, or legal action. It is not the next step after Return | 4. See Β§5 below for how to handle those cases.

4. The Exchange Flow

Exchanges are a three-step handshake. Never ship the replacement until the customer has paid the shipping fee.

Step Template What happens
1 Exchange | 1 Confirm size/variant is available. If not β†’ offer a return via Return | 1.
2 Exchange | 2 Create a Shopify draft order via Reamaze with the correct exchange fee for that store, which sends the customer a separate invoice. Then send the template confirming the new size is ready and that an invoice has been sent. Always check the fee for the store you're working in before sending β€” fees differ per store.
3 Exchange | 3 Fee is paid β†’ place the replacement order β†’ send Exchange | 3 to confirm.
Hard rule Never place the exchange order before the Exchange | 2 fee is paid.
πŸŽ₯
Loom: How to create a Shopify draft order via Reamaze for the exchange fee
Side note: creating the draft order isn't enough β€” make sure you actually send the draft order to the customer. Without that, no invoice reaches them.

5. Edge Cases & Refusals

Outside return window

Use Return | Refused (outside return window).

The window is 30 days from delivery (not order date). If the customer emails us more than 30 days after the parcel arrived, we refuse the refund β€” no exceptions, no matter how they push back. Always verify the delivery date in Shopify / tracking before replying.

Non-returnable item

Use Return | Refused (non-returnable item).

Applies to underwear, swimwear, and sale/clearance items (per the template's policy line).

Chargebacks, disputes & legal threats

Use Return | Escalation.

Any mention of PayPal dispute, chargeback, Klarna complaint, or legal action β†’ send the 60% refund template. It de-escalates the vast majority of these cases.

Damaged on arrival

This is a separate flow β€” see the Wrong / Damaged Item SOP.

Don't run damaged-item cases through the return flow. The damaged flow handles photos + replacement without requiring a return.

6. Golden Rules

  • Always check the 30-day return window first. The clock starts on the delivery date, not the order date. Verify in Shopify / tracking before replying.
  • Always wait for the customer's reply before sending the next template.
  • Never skip retention steps. Return | 1 β†’ Return | 2 β†’ Return | 3 β†’ Return | 4 is the order. The flow ends at Return | 4.
  • Return | Escalation is only for customers who threaten a chargeback, dispute, or legal action β€” never as a continuation of the return ladder.
  • Log returns in the returns sheet. Log completed exchanges in the supply chain sheet. Don't mix the two.

7. Quick Reference: All Templates

Template name Used for
Return | 0. Ask for return detailsAsk why the customer wants to return
Return | 1. Gift cardFirst retention offer β€” store credit
Return | 2. 20% OffSecond retention β€” partial refund, keep item
Return | 3. 40% OffThird retention β€” higher discount
Return | 4. FinalFollow-up if customer doesn't reply
Return | Escalation 60% refundOnly for chargeback / dispute / legal threats
Return | Refused (outside return window)Customer emailed >30 days after delivery date
Return | Refused (non-returnable item)Underwear, swimwear, sale items
Exchange | 1. Right size or return proposalStart of exchange flow
Exchange | 2. Confirm size & fee payment linkSend fee payment link
Exchange | 3. Confirm paid feeConfirm after fee paid, process replacement
SOP Β· Order Status & Tracking

Order Status & Tracking

How to respond to "where is my order?" β€” based on the order's actual status.

1. Decision Flow

flowchart TD A["πŸ“§ Where is my order?"]:::entry A --> ON{"Order number
provided?"} ON -->|No| T0["Tracking | 0
No order number provided"]:::ask ON -->|Yes| LOOK["Look up order in Shopify"]:::action LOOK --> AGE{"How old is
the order?"} AGE -->|"0–3 days"| T1["Tracking | 1
Processing (0–3 days)"]:::normal AGE -->|"3+ days"| TR{"Tracking number
assigned?"} TR -->|Yes| T2A["Tracking | 2
Assigned (3+ days)"]:::normal TR -->|No| T2N["Tracking | 2
Not assigned (3+ days)"]:::warn T2N --> FLAG["Flag with fulfillment team"]:::action FLAG --> CONFIRM{"Team confirms
shipment ASAP?"} CONFIRM -->|Yes| T2NF["Tracking | 2
Not assigned – follow up"]:::good AGE -->|"10+ days,
no movement"| T3["Tracking | 3
Delayed – no movement"]:::warn classDef entry fill:#eff6ff,stroke:#2563eb,stroke-width:2px,color:#1e3a8a classDef ask fill:#fffbeb,stroke:#b45309,color:#78350f classDef action fill:#f3f4f6,stroke:#6b6b6b,color:#1a1a1a classDef normal fill:#ecfdf5,stroke:#0d9668,color:#064e3b classDef warn fill:#fef2f2,stroke:#b91c1c,color:#7f1d1d classDef good fill:#ecfdf5,stroke:#0d9668,color:#064e3b

2. Decision Table

Situation Template What to do after
Customer didn't include an order number Tracking | 0 Wait for the order number, then continue this flow
Order is 0–3 days old, still processing Tracking | 1 Normal timeframe β€” no action needed, close the ticket
Order is 3+ days old, tracking number is assigned Tracking | 2. Assigned (3+ days) Template auto-fills the tracking URL via Shopify integration
Order is 3+ days old, no tracking number yet Tracking | 2. Not assigned (3+ days) Flag with the fulfillment team to chase the tracking number
Fulfillment team confirmed the order will ship ASAP Tracking | 2. Not assigned – follow up Send as a follow-up to update the customer once the team confirms
Tracking shows no movement for 10+ days Tracking | 3 Flag with the fulfillment team to investigate
Important For Tracking | 2. Assigned, the template uses {{ integrations.shopify.orders[0].fulfillments[0].tracking_url }} to auto-fill the tracking link. Don't delete this β€” it pulls the right URL automatically. If it doesn't fill, the order isn't linked to the customer in Reamaze yet β€” link it first.
πŸ“Š Log in supply chain sheet Whenever you flag something with the fulfillment team or supplier (e.g. for Tracking | 2. Not assigned or Tracking | 3), log it in the supply chain sheet.
πŸŽ₯
Loom: How to look up an order & check tracking status

3. Edge Cases

Customer says parcel arrived empty / item missing

This is a different flow β€” see Special Cases β†’ Missing Item in the sidebar.

Tracking shows "Returned to Sender"

See Special Cases β†’ Return to Sender in the sidebar.

Customer wants to cancel because of a delay

If < 24h since order β†’ use Cancellations β†’ Confirmed. Otherwise, run the tracking templates first.

4. Golden Rules

  • Always look up the order in Shopify before replying. Don't guess based on what the customer says.
  • If no order number is provided, always start with Tracking | 0. Never assume.
  • For 3+ day orders, check the tracking status β€” "assigned" vs "not assigned" decides which template to use.
  • For 10+ day no-movement orders, flag with the fulfillment team β€” Tracking | 3 tells the customer we're investigating, but you still need to actually investigate.
  • Log every supplier / fulfillment team contact in the supply chain sheet.

5. Quick Reference: All Templates

Template name Used for
Tracking | 0. No order number providedCustomer didn't include order number
Tracking | 1. Processing (0–3 days)Normal processing timeframe
Tracking | 2. Assigned (3+ days)Order shipped, tracking URL auto-filled
Tracking | 2. Not assigned (3+ days)3+ days old but no tracking yet
Tracking | 2. Not assigned – follow upFollow-up after fulfillment team confirms shipment ASAP
Tracking | 3. Delayed – no movement (10+ days)Tracking stuck for 10+ days
SOP Β· Special Cases

Special Cases

Five sub-flows: Missing Address, Address Change, Size Change, Missing Item, and Return to Sender.

A. Missing Address

Use this when an order has incomplete delivery information (no full address, no phone number, etc.) and the order can't ship.

πŸ“¬ Missing Address flow
1
Special | Missing Address | 1. Information requested Asks the customer for their complete address + phone number. Includes the warning that orders lost in transit due to missing info can't be refunded.
2
Special | Missing Address | Follow up Sent when the customer hasn't responded to step 1. Asks them again for the correct address, repeats the warning that we can't ship, refund, or replace without the correct details.
3
Update the address in Reamaze directly Once the customer replies with the correct info, update the order in Reamaze. For UK stores: also tag the supplier in Slack β€” see the format below.
4
Special | Missing Address | 2. Confirmed Confirms to the customer that we've updated their details and the order will be processed shortly.
πŸ‡¬πŸ‡§ UK stores only β€” tag supplier in Slack

After updating the address in Reamaze (step 3), also tag the supplier in Slack with the correct address. Use the format below:

Order #order-number (store-tag) the correct address is below:
Customer full name
Street + number
City
Postcode
Country

Replace the blue text with the actual details from the order.

πŸŽ₯
Loom: How to update a missing address in Reamaze

B. Address Change

Use this when the customer asks us to change a delivery address they already provided (e.g., they moved, mistyped, want it sent elsewhere). This is different from Missing Address β€” here we have an address, the customer just wants to update it.

Step 1: Look up the order in Shopify. Check whether it's already been processed/shipped.

Step 2: Pick the right template based on what you find:

Situation Template
Order is not yet processed β€” update the address, then send confirmation Address Change | 1. Confirmed
Order is already processed / tracking on its way β€” address can no longer be changed Address Change | 2. No longer possible
Important Always check Shopify before replying. Once the order is processed and tracking is on its way, the address is locked β€” sending Address Change | 1 by mistake creates a promise we can't keep.
πŸ‡¬πŸ‡§ UK stores only β€” tag supplier in Slack

After sending Address Change | 1. Confirmed, also tag the supplier in Slack with the updated address. Use the format below:

Order #order-number (store-tag) the address has been updated:
Customer full name
Street + number
City
Postcode
Country

Replace the blue text with the actual details from the order.

πŸŽ₯
Loom: How to update an address before the order is processed

C. Size Change

Use this when the customer wants to change the size of an item they already ordered. Same logic as Address Change β€” only possible if the order hasn't been processed yet.

Step 1: Look up the order in Shopify. Check whether it's already been processed.

Step 2: Pick the right template based on what you find:

Situation Template
Customer contacts within 24h and order not yet processed β€” adjust the size in Shopify, then send confirmation Special | Size Change – Confirmed
Order is already processed β€” size can no longer be changed Special | Size Change – No longer possible
Important Always check Shopify before replying. Once the order is processed, the size is locked β€” sending Special | Size Change – Confirmed by mistake creates a promise we can't keep.
πŸŽ₯
Loom: How to change the size on an unprocessed order in Shopify

D. Missing Item

Use this when the customer says part of their order is missing (e.g., they ordered 3 items but only received 2).

Step 1: Look up the order's fulfillment in Shopify. Check whether the missing item is in a separate parcel and whether that parcel is in transit.

Step 2: Pick the right branch below based on what you find.

Branch 1 β€” Still in transit No supplier contact

The missing item is in a second parcel that's clearly still moving (multi-warehouse shipping, tracking shows recent activity).

Action: Send Special | Missing Item | On its way directly. No supplier contact needed.

Branch 2 β€” Genuinely delayed Contact supplier first

The second parcel is stuck β€” no movement, no clear ETA, or tracking is dead.

Action:

  1. Contact the supplier to confirm the delay and ask for an ETA
  2. Once confirmed, send Special | Missing Item | Delayed
  3. Log the supplier contact in the supply chain sheet
Important Always check Shopify fulfillment before replying. We ship from multiple warehouses, so "missing" items are often just in a separate parcel that's still on its way. Don't assume it's lost.
πŸ“Š Log in supply chain sheet When you contact the supplier about a delayed parcel (Branch 2), log it in the supply chain sheet.

E. Return to Sender

Use this when the parcel was returned by the courier (undeliverable, held at depot, RTS in tracking).

↩️ Return to Sender β€” 2-step flow
1
Special | Return to Sender | 1. Information requested Asks the customer for their correct address + phone so we can arrange a reship. Includes the warning that without info, the parcel may be lost or destroyed and we can't refund or reship.
2
Pass the new info to the courier / arrange reship Once the customer replies, contact the courier or update the order so the parcel can be redelivered.
3
Special | Return to Sender | 2. Confirmed Confirms the updated details have been passed to the courier and the parcel will be reshipped.

Golden Rules

  • Always wait for the customer's reply before sending the confirmation template. Don't send "Confirmed" until you've actually updated the address / arranged the reship.
  • For Missing Item, always check Shopify fulfillment first β€” we ship from multiple warehouses, so "missing" items are usually in a separate parcel.
  • For Missing Address & Return to Sender, the step-1 template explicitly warns the customer that no reply = no refund. This is intentional β€” don't soften it.
  • Log every supplier / fulfillment team contact in the supply chain sheet (e.g. when chasing a delayed parcel or missing item).

Quick Reference: All Templates

Template name Used for
Special | Missing Address | 1. Information requestedAsk for complete address + phone
Special | Missing Address | Follow upSent when customer hasn't responded to step 1 β€” asks again for the correct address
Special | Missing Address | 2. ConfirmedConfirm address updated
Address Change | 1. ConfirmedCustomer-requested address change, successfully updated before processing
Address Change | 2. No longer possibleOrder already processed, address can't be changed
Special | Size Change – ConfirmedCustomer-requested size change, adjusted in Shopify before processing
Special | Size Change – No longer possibleOrder already processed, size can't be changed
Special | Missing Item | On its wayItem in separate parcel, still in transit
Special | Missing Item | DelayedSecond parcel genuinely delayed
Special | Return to Sender | 1. Information requestedAsk for correct address to arrange reship
Special | Return to Sender | 2. ConfirmedConfirm reship arranged
SOP Β· Wrong / Damaged Item

Wrong / Damaged Item

When a customer received the wrong item, wrong color, or a damaged product.

1. Decision Flow

flowchart TD A["πŸ“§ Wrong or damaged item"]:::entry A --> S1["Wrong/Damaged Item | 1
Photos requested"]:::normal S1 --> WAIT1["Wait for photos"]:::action WAIT1 --> S2["Wrong/Damaged Item | 2
Investigating"]:::normal S2 --> RAISE["Raise with fulfillment team
Β· investigate what went wrong
Β· log in supply chain sheet"]:::action RAISE --> BRANCH{"Supplier confirms
issue?"} BRANCH -->|"Yes"| S3["Wrong/Damaged Item | 3
Solution offered"]:::good S3 --> END["Customer keeps wrong item
+ correct item is shipped"]:::good BRANCH -->|"No"| S3B["Investigation |
No issue found"]:::warn S3B --> RETURNS["β†’ Customer can still return
via Returns & Exchanges SOP"]:::action classDef entry fill:#eff6ff,stroke:#2563eb,stroke-width:2px,color:#1e3a8a classDef normal fill:#fef2f2,stroke:#b91c1c,color:#7f1d1d classDef action fill:#f3f4f6,stroke:#6b6b6b,color:#1a1a1a classDef good fill:#ecfdf5,stroke:#0d9668,color:#064e3b classDef warn fill:#fffbeb,stroke:#b45309,color:#78350f

2. The 3-Step Flow

1
Wrong/Damaged Item | 1. Photos requested Asks the customer for a clear photo of what they received. Don't proceed without photos β€” they're our proof for the fulfillment team.
2
Wrong/Damaged Item | 2. Investigating Sent after photos arrive. Tells the customer we've raised it with fulfillment. Then actually raise it β€” forward the photos to the fulfillment team and ask them to confirm what went wrong + arrange a replacement.
3
Step 3 β€” Branches based on what the supplier finds Pick one of the two templates below depending on the investigation outcome.

3a β€” Issue confirmed Happy path

Wrong/Damaged Item | 3. Solution offered

Sent once fulfillment confirms the replacement is on its way. The customer keeps the wrong/damaged item β€” no return needed.

3b β€” No issue found Routes to Returns

Investigation | No issue found

Sent when the supplier confirms the item was shipped correctly and as described. The template invites the customer to start a return if they still want one β€” if they reply yes, switch to the Returns & Exchanges SOP.

Our policy For wrong or damaged items, the customer keeps what they received and we send the correct/replacement item. No return logistics, no return shipping. This is built into Wrong/Damaged Item | 3.
πŸ“Š Log in supply chain sheet When you raise a wrong/damaged case with the fulfillment team (between step 2 and step 3), log it in the supply chain sheet.
πŸŽ₯
Loom: How to raise a wrong/damaged case with the fulfillment team

3. Edge Cases

Customer refuses to send photos

Without photos we can't verify the issue. Politely re-explain that photos are required to process the case. If they still refuse, we can't proceed β€” close the ticket.

Photo shows the correct item but customer claims it's wrong

Don't proceed with replacement. Reply explaining the item matches the order. If they push back, treat as a return request and route to the Returns & Exchanges SOP.

Damage is minor / cosmetic only

Still run the full flow β€” send to fulfillment with photos and let them decide. Don't make the call yourself.

Item is non-returnable (underwear, swimwear)

Damaged/defective non-returnable items are still covered β€” the Return | Refused (non-returnable item) template explicitly invites customers to reply with photos for damaged items. Run the full Wrong/Damaged flow.

4. Golden Rules

  • Never skip the photo step. No photos = no proof = no case.
  • The customer keeps the original item. Don't ask them to return it (only applies when supplier confirms the issue).
  • Always wait for fulfillment to confirm before sending step 3 β€” and pick the right template: Wrong/Damaged Item | 3 if the issue is confirmed, Investigation | No issue found if it isn't.
  • If the supplier finds no issue, send Investigation | No issue found. If the customer still wants to return, route them to the Returns & Exchanges SOP.
  • This flow is for wrong/damaged items only. For "I changed my mind" β†’ use the Returns & Exchanges SOP.
  • Log every supplier / fulfillment team contact in the supply chain sheet.

5. Quick Reference: All Templates

Template name Used for
Wrong/Damaged Item | 1. Photos requestedInitial reply β€” request photo
Wrong/Damaged Item | 2. InvestigatingAfter photos received, raised with fulfillment
Wrong/Damaged Item | 3. Solution offeredReplacement on its way, customer keeps original
Investigation | No issue foundSupplier confirms item is correct β€” invites return via Returns SOP
SOP Β· Cancellations

Cancellations

Two outcomes only: cancel within 24h, or refuse after 24h.

1. Decision Flow

flowchart TD A["πŸ“§ Cancellation request"]:::entry A --> AGE{"How long ago
was the order placed?"} AGE -->|"More than 24 hours"| C2["Cancellation | 2
Not possible"]:::warn AGE -->|"Within 24 hours"| TR{"Tracking number
already added?"} TR -->|"No"| DIRECT["Servicepoint:
direct cancel"]:::supplier TR -->|"Yes"| DISPUTE["Servicepoint:
open dispute &
request cancel"]:::supplier DIRECT --> SHOPIFY["Cancel order in Shopify
+ process refund"]:::action DISPUTE --> SHOPIFY SHOPIFY --> C1["Cancellation | 1
Confirmed"]:::good C2 --> WAIT["Once parcel arrives,
route to Returns/Exchanges
if customer needs help"]:::action classDef entry fill:#eff6ff,stroke:#2563eb,stroke-width:2px,color:#1e3a8a classDef action fill:#f3f4f6,stroke:#6b6b6b,color:#1a1a1a classDef supplier fill:#f0effb,stroke:#625df5,color:#3730a3 classDef good fill:#ecfdf5,stroke:#0d9668,color:#064e3b classDef warn fill:#fef2f2,stroke:#b91c1c,color:#7f1d1d

2. Decision Table

Order age Template Action
Within 24 hours Cancellation | 1. Confirmed (1) Cancel with the supplier via Servicepoint (see Β§3), (2) cancel the order in Shopify, (3) process the refund, (4) send the template
More than 24 hours Cancellation | 2. Not possible Refuse β€” order has already been processed. Offer help with sizing/return once it arrives

3. Cancel with the Supplier (Servicepoint)

For every cancellation within 24 hours, the order also has to be cancelled on the supplier side via Servicepoint. Pick the method based on whether tracking has been added yet:

Method A β€” Direct cancel No tracking yet

If the supplier hasn't assigned tracking yet, just cancel the order directly via Servicepoint.

Method B β€” Dispute Tracking already added

If tracking has already been added (but it's still within 24h), open a dispute via Servicepoint and explicitly mention that we want to cancel the order.

πŸ“Š Log in supply chain sheet Every Servicepoint cancellation (direct or dispute) must be logged in the supply chain sheet.
πŸŽ₯
Loom: Complete cancellation walkthrough (Shopify + Servicepoint direct cancel + Servicepoint dispute)
This single video covers the entire cancellation flow end-to-end: cancelling & refunding the order in Shopify, direct-cancelling via Servicepoint when no tracking has been added, and opening a dispute in Servicepoint when tracking is already in place.
The 24-hour window The 24-hour window is firm β€” it's based on our store policy and our processing pipeline. After 24 hours the order has already been sent to fulfillment and we can't recall it (not in Shopify, not via Servicepoint).

4. Edge Cases

Customer wants to cancel after 24h because of a delay

Still use Cancellation | 2. Once the parcel arrives, they can return it via the standard Returns flow.

Customer wants to cancel because they ordered the wrong size

If within 24h β†’ cancel and refund. If after 24h β†’ use Cancellation | 2 and route to Exchange | 1 once the parcel arrives.

Customer threatens chargeback if we don't cancel

If within 24h β†’ just cancel and refund (easier). If after 24h β†’ use Cancellation | 2. Not possible β€” the template already covers the wait-for-arrival-then-return path. Don't offer Return | Escalation here, since there's nothing to return yet.

Order is exactly at the 24h mark

Check Shopify β€” if the order hasn't been fulfilled yet, cancel it. If it has, use Cancellation | 2.

5. Golden Rules

  • For every cancellation within 24h, you must do all three: cancel via Servicepoint (direct or dispute), cancel in Shopify, process the refund. Then send Cancellation | 1.
  • Pick the right Servicepoint method: no tracking β†’ direct cancel, tracking added β†’ dispute.
  • The 24-hour rule is firm β€” don't make exceptions, even for polite customers.
  • Log every Servicepoint cancellation in the supply chain sheet.
  • For after-24h requests, the template offers post-delivery help (sizing/return). This isn't optional β€” it's how we keep the customer happy without violating the policy.

6. Quick Reference: All Templates

Template name Used for
Cancellation | 1. ConfirmedOrder canceled within 24h, refund processed
Cancellation | 2. Not possibleOrder > 24h, can't be canceled