The Caviar Co × SKU.io — Support History & Insights

Every Freshdesk ticket (Nov 2025 – Jul 2026) and every message in the shared Slack channel (Sep 2025 – Jul 2026)

Compiled 2026-07-29 from the SKU.io Freshdesk API and the Slack archive · prepared by Kalvin Mizzi for Scott Scharf

105
Freshdesk tickets in 9 months
1,905
Slack messages in 10 months
28
peak ticket month — Feb 2026 (Choco go-live)
103
closed · 2 in progress today
1.7h
median first response
4.2h
median resolution

Two records, not one

Caviar Co's support history lives in two places, and they capture different things. Freshdesk holds the formal record — 105 tickets, each a discrete defect or request, tracked to closure. The shared Slack channel holds the working relationship — 1,905 messages of onboarding, cutover coordination, root-cause diagnosis, outage comms, and pricing conversations that never become tickets. Roughly 62% of the Slack traffic is SKU.io's side (1,181 of 1,905 messages); their 724 messages come from eight people. Read together, the tickets say what broke and Slack says why, and what happened next.

The arc

Ticket volume tells the story of the account in four chapters: a quiet onboarding autumn, a February spike when the Choco B2B wholesale channel went live, a steadily calming spring — and a fresh July rise driven by one specific engineering issue (backorder auto-release) plus catalog-mapping cleanup.

Tickets per month
01020 28 21 14 NovDecJan FebMarApr MayJunJul Choco B2Bgo-live backorder-releasecluster

The Slack curve runs a month ahead of the ticket curve and peaks higher — the busiest conversation months were the go-live itself (Nov 2025) and the July sale, both of which produced comparatively few formal tickets.

Slack messages per month — shared channel, both sides
0100200300 384319 SepOctNovDec JanFebMarApr MayJunJul cutover:Shopify + ShipStation biggest saleof the year

How the account got here

This sequence is only visible in Slack. It matters because most of the recurring friction traces back to a specific decision or event in it.

WhenWhat happened
Sep 22 – Oct 31, 2025Onboarding and data work, all on their side: product SKUs rebuilt in Shopify, B2B catalog uploaded, kits and bundles built, vendors assigned, QBO customers imported (many duplicates skipped on import). Physical label inventory was designed as a kit component + assembly step. A custom build approved Oct 17 shipped Oct 22–24; the inventory-aging report Oct 25.
Nov 5, 2025Opening inventory loaded warehouse by warehouse from their stock sheet, then reconciled against fulfillments that had already happened.
Nov 10, 2025Cutover day. Shopify turned on in SKU and ShipStation moved off its Shopify connection. ShipStation disconnected itself that morning, so the first live orders were fulfilled from SKU directly. First Freshdesk ticket lands Nov 11.
Nov 17–21 → Dec 8, 2025Choco testing with Choco's own solutions engineer, then fully live 12/08. The February ticket peak is the tail of this, not a new event.
Jan – Feb 2026Busiest sustained stretch (274 + 275 Slack messages). Choco order flow, QBO invoice mapping, Wholesail invoicing, the shipping-charge field, and the Sales Rep customization.
Mar 16, 2026Sarah's last day in the channel. Kadie and Rebecca take over day-to-day; Rob and Thupten hold warehouse and purchasing. Slack drops to 83 messages — the quietest month of the relationship.
Apr 27 – May 8, 2026The QBO instance change, driven by their Wholesail migration timing rather than by SKU: QBO swapped, swapped back for an interim period, then swapped again May 8. Each swap wiped the customer mapping, and every B2B order placed on Apr 27 created a duplicate QBO customer. SKU shipped a QBO duplicate-finder and a customer-matching wizard within 24–48h. The May 8 move was pre-mapped with auto-sync off first, and went cleanly.
May 1 & May 4, 2026Two unplanned host outages, roughly 3–4 hours each — application server on the Friday, database server on the Monday. Both were the hosting provider, both were supposed to be off-hours.
Jun 15, 202645 May/June invoices reported as disappearing from QBO, some with payments already applied — the aftermath of the duplicate customers, with multiple SKU invoices pointed at the same QBO invoice and overwriting each other.
Jun 30, 2026Orphan-shipment visibility shipped: anything shipped in ShipStation but not linked to a SKU fulfillment order is now surfaced instead of silent.
Jul 6–19, 2026Their biggest sale of the year, with a presale the week before — "hundreds of orders coming in a day." July is the second-busiest Slack month (319) and every July ticket sits inside this window.
Jul 14–21, 2026A Shopify SKU rename (RWS2oz vs CAWS2oz) backs up orders behind a phantom backorder; orders start defaulting to Manual Fulfillment because not all Shopify locations were mapped to SKU warehouses; the PO-sender setting is found to reset on every release. All three resolved by Jul 21.
Jul 29, 2026 (today)$0 line items appearing on new orders — diagnosed as a race condition in the new Accounting V2 and fixed the same morning, with the back data corrected.

What they ask about

Tickets by theme (each ticket assigned to its primary theme)
Order pipeline stalls (Shopify→SKU→ShipStation) QBO / invoicing & accounting sync Choco wholesale channel Catalog & SKU-mapping hygiene Purchasing / PO workflow Backorder auto-release & holds How-to: reports, exports, templates Subscriptions (Recharge / Caviar Club) Access & logins Other 222115 1397 733 5
ThemeWhat's actually in it
22 Order pipeline stallsOrders arriving from Shopify (web + POS) that stall between SKU and ShipStation: won't auto-dispatch (#1421, #1422), address-data blockers (#1346, #1594), duplicates pushed to ShipStation (#1465), stock stuck reserved on fulfilled orders (#1525), order edits splitting shipments into dropship (#1603), local-delivery orders leaking into ShipStation (#1718). Heaviest Nov–Mar.
21 QBO / invoicingInvoice sync failures (deleted QBO customer #1367, #1605; $0 replacement invoices #1527; silently missing #2187), customer sync in both directions (#1455, #1752), wrong-customer matching (#1509), payment terms flipping to Net30 (#1615), sales rep missing on invoices since 7/20 (#2192), plus invoice-content requests: tracking & PO number on invoices (#1916, #1932), shipping as a line item (#1930). Wholesail appears here too.
15 Choco wholesale channelDrove the Feb peak as Choco went live: failed-order cluster (three in one day #1448–#1450), ship-by/deliver-by date logic (#1357, #1464, #1502), customer-PO-number flow to the QBO invoice (#1392), customer mismatch (Clark's Oyster Bar → wrong account) (#1463), shipping-fee pass-through to ShipStation (#1844). Largely settled after March.
13 Catalog & SKU hygieneUnmapped products holding up orders (#1245, #1354, #1412), SKU renames and code reuse causing mapping confusion (#2107 CCDJULY→RDCCJUS, #2205 NCDFT, #2163 CAWS), bundle components not appearing (#1955, #1272), products "archiving themselves" (#1991), assemblies not working (#2144). Much of this traces to catalog process — live SKUs renamed, codes reused, Shopify products created without a SKU-side mapping.
9 Purchasing / PO workflowPO emails: attachment missing (#1487), cc accounting on every PO (#1489), custom message with the PDF attached (#1928, #2145), send-from address became noreply@sku.io (#2146). PO Builder: stock levels not showing (#1682), planning kits vs the units they contain (#1996).
7 Backorder auto-release — liveThe current engineering thread, June onward: backordered orders should release to ShipStation when inventory arrives, but stay pending (#1961, #1985, #2170, #2217); "Hold Until" not holding (#2189); false "needs backorder" with 200+ in stock (#1651). #2208 and #2217 are the two in-progress tickets today.
7 How-to & reportingOrder-details and sub-channel reports (#1486, #1978), exports (#1516), sales-order template variables (#1382), packing slips for transfers to a co-packer (#1545), custom pricelists (#1972).
3 SubscriptionsCaviar Club via Recharge: subscription orders not syncing (#1806, urgent, May), and the rotating monthly club SKU (CCDJULY etc.) mis-mapping (#2106, #2107). Structural: every month mints a new club SKU that needs mapping — a recurring monthly risk.

Who files

PersonTicketsPattern
Sarah Podar36Primary operator Nov–Mar; carried the Choco go-live. Left the company late March (#1574).
Kadie28Day-to-day fulfillment; files the backorder-release reports; primary contact now.
Rebecca Frazier21Invoicing, POs, customer sync — the QBO-adjacent tickets.
Thupten Chodak10Purchasing and reporting; the co-packer transfer question.
Rob Holcomb6Interim point of contact after Sarah; reporting and product questions.
Lauren de Leon3Accounting-side: invoice sync, payment terms.
Stephanie Gwin1orders@ mailbox.

The March handover matters: the person who held the most system knowledge (36 of the first 70 tickets) left mid-stream, and the how-to share of tickets rises afterward.

Slack shows a wider cast than Freshdesk does, including two people who never filed a ticket at all:

PersonSlack msgsActiveRole in the channel
Sarah Podar345Sep 2025 – Mar 2026Ran the entire implementation: data cleanup, catalog, kits, cutover, Choco, QBO mapping.
Kadie112Jan – Jul 2026Fulfillment and inventory. Files the backorder-release and orphan-order reports; primary contact now.
Rob85Nov 2025 – Jul 2026Warehouse floor: shipping, receiving, assemblies. Escalates when he's physically blocked.
Rebecca Frazier82Jan – Jul 2026B2B / wholesale ops: Choco orders, POs, invoices, pricing accuracy into QBO.
Kevin Hix70Apr – Jul 2026No Freshdesk tickets. Joined the channel the day the QBO duplicates appeared and has owned the accounting-integration thread since — the QBO migration, the missing invoices, the $0 line items.
Thupten17Nov 2025 – Jun 2026Purchasing and reporting.
Petra6May – Jul 2026No Freshdesk tickets. Appears at the outages and on the retail/POS location question.
Steph1Jul 2026orders@ mailbox.

What Slack catches that tickets don't

Eight recurring symptoms have a documented root cause that lives only in the channel. Most of them are configuration or process, not defects — which is the single most useful thing in this report.

Symptom as reportedRoot cause found
"Products are archiving themselves" #1991RO2OZ was a child of JUNECCD, and JUNECCD had been archived — archiving a parent archives its children. Nothing was archiving itself.
Shopify product mapping to the wrong SKU, backing up orders behind a phantom backorder #2163The Shopify↔SKU product link never changed — it had been in place since February. The SKU code itself was renamed in Shopify (RWS2oz → CAWS2oz). Standing rule since: never rename a live SKU in Shopify; SKU.io has deprecation mechanisms for the same business goal.
PO sender kept reverting to noreply@sku.io after being saved three times #2146Every SKU.io release was resetting the setting. Found by adding settings-change logging; fixed and the setting restored Jul 20.
Orders showing $0 line items in QBO Jul 24–29A race condition in the new Accounting V2 — the accounting transaction sometimes processed before the sales-order financials. It self-heals within 24h; prevention shipped and back data corrected Jul 29.
45 invoices "disappearing" from QBO, some with payments applied Jun 15Multiple SKU invoices pointing at the same QBO invoice and overwriting each other — downstream of the duplicate customers created during the QBO instance change.
Every B2B order creating a duplicate QBO customer Apr 27The QBO instance swap wiped the customer mapping, and reconnecting with auto-sync on re-created the customers. The working procedure now: connect, map first, then enable sync. And merges must be initiated on the SKU side — QBO's API offers no merge endpoint, so a duplicate carrying an open balance has to be merged in QBO first.
Orders defaulting to Manual Fulfillment instead of ShipStation Jul 16Not all Shopify locations were mapped to SKU warehouses. An order fulfilled from Union St. was arriving tagged as Clubhouse, hunting for inventory that didn't exist there. TCC Main and Union Street were set to auto-dispatch on Jul 16.
"Too Many Requests" holding up orders Jul 21ShipStation's own API rate limiting, surfaced on the fulfillment board with retry handling rather than failing silently.

Reliability, and the ask that came out of it

Four downtime events appear in the channel: May 1 (application server, ~3–4h), May 4 (database server, ~3–4h), Jun 18, and a brief Jul 2 interruption after an off-hours host restart. The first two were the hosting provider and unplanned. What matters more than the events is the request they produced, two weeks before their biggest sale of the year:

"Is it possible to get an update before upgrades happen, even if they are off hours? We have a huge sale starting in 2 weeks, with a presale starting next week. If SKU is down, regardless if it's off hours or not, we need to be able to have a back up plan to ensure we can operate business as planned. We're expecting hundreds of orders coming in a day from July 6–July 19th."

— Rebecca Frazier, Slack, July 2

The same theme — tell us before you change something structural — appears from the finance side in April, about the QBO instance change:

"We were not aware of the ripple effect and issues this would cause w/ all the duplicates being generated after reconnecting. I was not aware of the mapping issues. A much starker upfront warning about this would have been appreciated. But it is what it is… I will take responsibility for this mess up."

— Kevin Hix, Slack, April 27

Paid customizations

Four custom builds were priced in the channel. Two were approved and delivered; two were quoted and never picked up, which is itself a signal about what's still done by hand.

BuildPriceOutcome
Custom build approved Oct 17, 2025 (Shopify notes handling + kit bundling in the UI)Delivered Oct 22–24, 2025. Price not stated in the channel.
QBO Sales Rep custom-field mapping$400Approved Jan 27, built, charged Jan 29, 2026. Note: sales rep went missing from invoices again on Jul 20 (#2192).
Auto-assembly on receiving for caviar and roe kits$400Quoted Nov 12, 2025. No approval appears in the channel, and Rob was still assembling manually in July — likely the highest-leverage unbought item on this list.
"Print Sales Order Invoice" as a bulk action (they send these with deliveries)$200Quoted Feb 13, 2026. Never taken up.

One process note

The two systems overlap, and that overlap costs both sides time. Issues frequently get raised in Slack first — sometimes with screenshots and order links, sometimes for days — before a ticket exists, which means they sit outside SLA tracking, assignment, and history. It surfaced explicitly twice in July:

"It is difficult to approach these without a ticket. All our infrastructure is based on tickets. You can mention the ticket in Slack, but always start with a ticket."

— Kalvin Mizzi, Slack, July 28

"I can submit a ticket if needed. Before I do, can you please confirm with a simple yes or no? I just received a large shipment and can't assemble anything until I have a clear answer."

— Rob, Slack, July 8

A workable split, if it's useful: Slack for "is this us or you, and is it urgent"; a ticket for anything that needs to be tracked, reproduced, or fixed. Kadie already does this well — she files the ticket and drops the link in the channel.

In their own words

"It would be helpful if we had a threshold for backorders so we can trigger a stockout instead of just selling through nonstop."

— Kadie, #1481, March 4

"We often leave notes in SKU, and they will be overlooked or deleted. It would be great if it were more notable!"

— Kadie, #1488, March 5

"Still finding shipping orders that remain in a Pending ShipStation status after a backordered item receives a positive inventory event."

— Kadie, #2217, July 28 (in progress)

"Going forward, I can edit orders in SKU and it should NOT create an orphan order? Would hate to accidentally send extra product to a customer, that really killed us during the holidays."

— Kadie, Slack, June 30

"I have changed it 3 times now and it continues to revert back to SKU.io… please try to look into this more deeply than what's at face value. Something is happening in the back end that is reverting my changes."

— Rebecca Frazier, Slack, July 15 — she was right; every release was resetting it

"For all caviar products, we want to account for the labels we add to them prior to sale… We receive our jars and then place a branded label sticker on each jar prior to sale. For B2B we do custom labels."

— Sarah Podar, Slack, October 7–8 — the origin of the kit-plus-assembly design

Feature requests they've filed

AskTicket
Backorder thresholds — a stopping point instead of selling through nonstop#1481
Mark kit inventory as blemished when perishables expire#1201
More prominent notes on orders (overlooked or lost today)#1488
Shorter, more readable invoice layout#1457
Shipping charge as a visible line item on the invoice PDF#1930
Custom email + PO PDF attached in one send, from their own address#1928, #2146
PO Builder that understands kits vs the component units they sell#1996
Packing slips for warehouse transfers (bulk sends to a co-packer)#1545

Open threads and things never picked up

ItemStatus
Backorder auto-releaseLive. The one genuinely open engineering thread. Orders with a backordered line should release to ShipStation when inventory arrives; some still sit in Pending. #2208 and #2217 are being worked. Kadie was releasing them by hand through the July sale.
Auto-assembly on receivingQuoted at $400 in Nov 2025, never approved. Rob still assembles manually after every large shipment — and every assembly-related escalation in July traces back to that manual step.
Labels & packaging materialsLabels are designed into the system, as a kit component consumed by an assembly step (their idea, Oct 2025). Boxes and ice packs are not tracked — no ticket or Slack message has ever asked for them, which is consistent with them being managed outside SKU.
FaireThey sell on Faire. SKU.io now has a direct Faire integration; it was offered and never followed up on their side, so Faire orders stay manual.
Manufacturing moduleCaviar Co was the original inspiration for SKU.io's manufacturing capabilities (vats → jars). Docs are published and a walkthrough offer stands — never taken up.
Co-packer / dropshipNo direct co-packer integration today. Closest signals: #1545 (bulk transfers to a co-packer, wanted packing slips) and #1435 (dropship fulfillment unexpectedly appearing on retail orders).
Local delivery / EasyRoutesEasyRoutes orders are fulfilled in Shopify on delivery, outside ShipStation, so SKU can wait on a shipment that never arrives and hold stock reserved. Correct procedure confirmed in Slack: cancel or adjust the order in SKU, not in ShipStation. Related: #1718, order 63872.
Warehouse ↔ Shopify location mappingPartially resolved. TCC Main and Union Street auto-dispatch to ShipStation as of Jul 16. Clubhouse is used only for offsite selling events, not as a POS — worth confirming no Shopify location still routes there.
Monthly Caviar Club SKUStructural, recurring: every month mints a new club SKU (CCDJULY, JUNECCD…) that needs mapping. It has caused a ticket twice (#2106, #2107) and one "self-archiving product" scare. A naming/parent convention would remove the monthly risk.
Bulk "Print Sales Order Invoice"Quoted at $200 in Feb 2026, never taken up. They print these to send with deliveries, one at a time.

Where the leverage is

Reading both records end to end, five things account for most of the friction — and four of the five are process or configuration rather than software.

LeverWhy
1. Catalog disciplineRenaming live SKUs in Shopify, reusing codes, minting a new club SKU every month, and creating Shopify products without a SKU-side mapping produced 13 tickets and the worst single week of July. A naming convention plus "never rename, deprecate instead" removes a recurring class of outage-shaped problems.
2. Buy the auto-assembly$400, quoted in November 2025 — eight and a half months of manual assemblies ago. Every large receipt currently blocks the warehouse until someone clicks through assemblies by hand.
3. Ticket-first, Slack-secondThe channel is faster to type into, so problems live there for days before entering any tracked system. That is where the "we told you about this already" gap comes from on both sides.
4. Location and warehouse mappingEvery Shopify location needs a mapped SKU warehouse, or orders route to Manual Fulfillment and hunt for stock that isn't there. Mostly fixed in July; worth an audit rather than another incident.
5. Backorder auto-releaseThe one item genuinely on SKU.io's side. Actively being worked (#2208, #2217).

✓ Verified facts

⚠ Scope notes