Open Jira tickets referencing a Costco PO or chargeback. Ageing tickets = unrecovered chargebacks + un-resolved ranging risk.
At a glance
Cross-channel alert list of open Jira tickets referencing a Costco PO number or carrying a Costco-related label (costco_chargeback,costco_delisting,costco_asn_late,costco_buyer_call). Ageing tickets in this queue map to unrecovered chargeback dollars, un-pursued buyer-conversation opportunities for delisting reversals, and unresolved EDI / data-quality issues. The card is the operational triage view that confirms each Costco-side incident has a Jira owner and is being worked; gaps between Nerve Centre alerts and Jira tickets indicate triage failure.
| What it counts | COUNT(jira_issues WHERE status NOT IN (Done, Cancelled) AND (po_number IN issue_summary OR labels CONTAINS costco_*)). Tickets are deduplicated by issue key; a ticket referencing 3 PO numbers counts once. |
| API endpoint | Jira REST API GET /rest/api/3/search with JQL: project = OPS AND status != Done AND (summary ~ "PO 4500*" OR labels in (costco_chargeback, costco_delisting, costco_asn_late, costco_buyer_call)). The card joins back to Costco SIP PO records by parsing PO numbers out of issue summaries and matching against the SIP datastore. |
| PO-number recognition | Regex matches Costco’s standard PO format (typically 4500xxxxxx, 10 digits starting with 4500). Adjust the regex at the integration filter layer if your Costco trading partner uses a different PO format (Costco Canada SIP and Business Center programs sometimes differ). |
| Label-based recognition | Tickets without a recognisable PO in the summary but tagged with a costco_* label are also counted. This catches buyer-conversation tickets, compliance investigations, and data-quality issues that do not reference a specific PO. |
| Cancellations | Cancelled tickets (Jira status “Cancelled” or resolution “Won’t Do”) excluded; only actively-open tickets count. Closed tickets (“Done”) excluded. |
| Currency / value | The card is a count; for the dollar exposure pair with Chargeback Risk (30d). |
| FBA / FBM | Not applicable. |
| Ageing buckets | The card displays a sorted alert list with each ticket’s age (now - created_at); the alert fires on tickets >7 days old without status update because that is the threshold past which buyer-conversation reversal probability drops sharply and chargeback-recovery probability drops below 50 percent. |
| Time window | RT (real-time, refreshed on every Jira issue webhook). |
| Alert trigger | >3 open >7d. Triggers when more than 3 tickets are simultaneously open with no status update for more than 7 days. |
| Cross-channel only flag | only_when: has_jira_sibling. Card hides if no Jira connector is integrated. |
| Roles | owner, operations |
Calculation
Calculated automatically from your Costco SIP data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
The same US household-goods supplier on Costco SIP plus a connected Jira instance for operations triage. Reading taken at 09:00 PT on 11 Mar 26.| Jira key | Summary | Label | Age (days) | Last status update | Estimated dollar exposure |
|---|---|---|---|---|---|
| OPS-4123 | Costco PO 4500987612 missing ASN, chargeback risk | costco_asn_late | 3 | 09 Mar 16:42 | USD 750 |
| OPS-4118 | Costco buyer call re paper-towel range refresh | costco_buyer_call | 5 | 06 Mar 11:20 | USD 92,000 weekly shelf revenue |
| OPS-4099 | Costco PO 4500985201 chargeback assessed USD 480 | costco_chargeback | 8 | 03 Mar 14:10 | USD 480 |
| OPS-4087 | Glass storage 8-piece set delisted, recovery plan | costco_delisting | 12 | 27 Feb 09:55 | USD 12,000 weekly shelf revenue |
| OPS-4054 | Item-master GTIN drift across 7 SKUs | costco_data_quality | 18 | 21 Feb 14:00 | n/a (preventative) |
| Total open (this card) | 5 tickets, 3 over 7-day threshold |
>3 open >7d is firing because 3 of the 5 are older than 7 days. Five things to notice:
- The 12-day-old delisting ticket is the highest-priority neglected item. USD 12,000 weekly shelf revenue per delisting × ~50 weeks = USD 600k annual exposure. The buyer-conversation window for reactivation is roughly 2 weeks; this ticket has crossed the threshold and the reactivation probability has dropped from ~30 percent to ~10 percent. Escalate today; document the supplier’s reactivation proposal and request a buyer call within the next 5 working days.
- The 18-day-old GTIN-drift ticket is preventative work. No immediate dollar exposure, but unresolved field drift accumulates and eventually triggers
gtin_invaliddelistings. The 18-day age suggests the ticket has been deprioritised; either schedule the data-quality work or close the ticket as “won’t do” with explicit acceptance of the future-delisting risk. - The 8-day-old chargeback ticket is the recoverable cash. USD 480 chargeback can be disputed within 60 days of assessment; the dispute window is open and the supplier has 52 days remaining. The 7-day-old age means the chargeback is no longer fresh in the buyer’s mind; assemble the evidence (delivered timestamps, BOL, 856 ASN proof) and file the dispute this week.
- The 5-day-old buyer-call ticket is approaching the alert threshold. USD 92,000 weekly is the highest dollar exposure on the card; if the buyer-call has not happened by day 7, the supplier risks the full exposure crystallising. Confirm the buyer call is on the calendar.
- The 3-day-old missing-ASN ticket is on schedule. Most missing-ASN tickets resolve within 3 to 5 days as the operations team pursues the missing 856 file or files the chargeback dispute. This ticket is healthy.
Sibling cards merchants should reference together
The Jira escalation queue is the operational triage view over Costco-side incidents. Pair with these:| Card | Why pair it with Costco Issues in Jira | What the combination tells you |
|---|---|---|
| POs Missing ASN | Source of costco_asn_late tickets. | Each missing-ASN row should have a Jira ticket within 24 hours; gaps indicate triage failure. |
| Items Delisted This Week | Source of costco_delisting tickets. | Each delisting should generate a buyer-conversation ticket; gap = missed reversal opportunity. |
| Chargeback Risk (30d) | Dollar form of costco_chargeback tickets. | The card’s count plus chargeback risk dollars gives both workload and exposure. |
| Item Delisting Burst (24h) | Source of high-priority buyer-call tickets. | Bursts should generate a single high-priority ticket aggregating all affected items. |
| Costco Account Health Score | Composite signal. | Health score holding while ageing-Jira-tickets rise = unresolved work pile-up that will eventually surface in the score. |
Cross-connector: jira.tracker_open_issues | The full Jira open-tickets view. | This card is the Costco-filtered subset of the parent Jira card; the parent shows operational load beyond Costco. |
Cross-connector: jira.tracker_velocity | Team throughput. | Rising Costco-ticket count without team velocity increase = work queue exceeding capacity; staffing review. |
Cross-connector: shipbob.sb_orders_open | Where ShipBob is the fulfilment route. | Open ShipBob orders past SLA should appear here as costco_asn_late tickets if the SLA gap is escalated. |
Reconciling against the vendor’s own dashboard
Where to look in Jira: Atlassian Jira → run JQL:project = OPS AND status != Done AND (summary ~ "PO 4500*" OR labels in (costco_chargeback, costco_delisting, costco_asn_late, costco_buyer_call, costco_data_quality)) ORDER BY created ASC. Save as a board view “Costco Open” for daily standup. The card’s count should match Jira’s count exactly; gaps mean either the JQL has drifted from the card’s filter or Jira webhook delivery to Vortex IQ is lagging.
Costco does not have an equivalent dashboard.
This card is the supplier’s internal cross-channel join; Costco’s supplier portal has no view of internal Jira tickets. There is nothing to reconcile against on the Costco side.
Why our number may legitimately differ from Jira:
| Reason | Direction | Why |
|---|---|---|
| JQL filter drift | Either | Card uses fixed regex / labels; team-managed Jira boards may use different filters that catch more or fewer tickets. |
| PO-number recognition | Card may miss tickets | Card’s regex matches 4500xxxxxx PO format; tickets that reference Costco POs in a non-standard format (truncated, manually-typed) are missed. Add explicit costco_* label on those tickets to ensure inclusion. |
| Webhook lag | Ours sometimes higher | Jira webhooks deliver to Vortex IQ on a 1 to 5 minute cadence; recently-closed tickets may briefly count on the card. |
| Project scope | Either | Card looks at the configured Jira project (default OPS); if Costco-related tickets live in a different project (e.g. WHOLESALE, B2B), update the integration filter. |
| Sub-task counting | Card-level depends on config | By default the card counts parent issues only; sub-tasks are visible in drill-down but not double-counted. |
| Card | Expected relationship | Causes of legitimate divergence |
|---|---|---|
jira.tracker_open_issues | This card is the Costco-filtered subset. | Subset count should always be ≤ parent count. |
jira.tracker_resolution_time | Trailing 30-day resolution time across all tickets. | Costco-tagged tickets typically resolve faster than the average (they have explicit dollar and chargeback urgency). |
Known limitations / merchant FAQs
The card shows 5 tickets but I see 12 in our Jira board. Why the gap? Most likely 7 of the 12 either lack a Costco PO number in the summary or do not carry acostco_* label. The card uses fixed-pattern recognition; team-managed boards often use broader filters. Either tighten the Jira board filter to match the card, or update the supplier’s ticket-creation template to always include the relevant label. The healthier pattern is to standardise on labels because PO-number presence in the summary is fragile.
My team uses Linear / ClickUp / Asana, not Jira. Does this card work?
The default integration is Jira; the same pattern works for Linear and ClickUp via the equivalent integrations. The card label says “Issues in Jira” because Jira is the most common operations-tooling pattern for SIP suppliers; rename via integration display label if your team uses something else.
Why does the card count tickets older than 7 days but the alert fires on the threshold of more than 3?
Two thresholds. The card displays every open Costco-related ticket regardless of age; the ageing-bucket sort highlights the older ones. The alert fires only when the count of >7-day-old tickets exceeds 3, which signals a triage backlog rather than a single neglected item. Adjust either threshold at the integration level if your operations cadence differs.
A Jira ticket was closed but is still appearing on the card. Why?
Webhook lag, typically clears within 1 to 5 minutes. If persistent, force a refresh of the integration; if still persistent, check the Jira ticket actually has status Done (not “In Review” or “Closed” which some Jira workflows treat differently). The card excludes only tickets in Jira-equivalent-of-Done states.
Costco assessed a new chargeback and I want to track it. How do I get it onto the card?
Two routes. (1) Auto-creation: configure the Vortex IQ alert framework to auto-create a Jira ticket when Chargeback Risk (30d) increases; the auto-creation template includes the costco_chargeback label and the affected PO numbers in the summary. (2) Manual creation: open a Jira ticket with the PO number in the summary or the costco_chargeback label; the card picks it up on the next webhook refresh.
The 18-day-old GTIN-drift ticket is correctly low-priority. Can I exclude preventative work from the alert?
Yes. Configure the alert to exclude specific labels (e.g. costco_data_quality and costco_buyer_call excluded; costco_chargeback, costco_asn_late, costco_delisting included). The card itself will continue to track all five categories; only the alert behaviour changes. Most ops teams alert on the dollar-impact categories and treat preventative work as a sprint-planning input, not a P1 alert.
My Jira project is WHOLESALE, not OPS. Will the card find tickets?
Yes if you configure the integration correctly. The default JQL targets project = OPS; update to project = WHOLESALE (or whatever applies) at the integration filter layer. The card’s behaviour does not change otherwise.
Multiple Jira projects host Costco-related tickets. Which does the card read?
Configure the JQL with project IN (OPS, WHOLESALE, FULFILMENT) to span multiple projects. The card aggregates across all configured projects; the drill-down shows the project for each row.
Should I get paged when the alert fires?
Yes for ticket-count thresholds (e.g. >5 open >7d), no for single-ticket aging (the daily alert is enough). Most ops teams page the operations director when the count crosses 5 simultaneous >7-day tickets because that signals a structural triage backlog. Single-ticket aging is handled in daily standup.
The card aggregates buyer-call tickets and chargeback tickets in one count. Should they be split?
Reasonable for higher-stakes operations. Configure two separate cards via the integration filter: “Costco Open Chargebacks” filtered to costco_chargeback (P1 dollar-recovery) and “Costco Open Buyer Conversations” filtered to costco_buyer_call + costco_delisting (P2 commercial). The default single-card view is appropriate for smaller suppliers; larger suppliers split the views.
Does the card see Jira sub-tasks separately?
By default no; only parent issues are counted. A parent issue with 5 sub-tasks counts as 1. Drill-down lists sub-tasks under the parent for context. Configure to count sub-tasks separately if your workflow assigns work at the sub-task level.