Daily Clover refund and discount exception report in Slack

By General Input

Every morning, find out which of yesterday's refunds, credits, and discounts actually deserve a second look, ranked by employee.

Integrations

  • Clover
  • Slack Bot
  • Google Sheets

Type

Agentic Task

Categories

  • Operations
  • Finance

Every morning at 7am, review yesterday's refund, credit, and discount activity in my Clover point of sale and flag only the transactions that genuinely deserve a manager's attention. This is an exception report, not a sales recap, so keep it tightly scoped to refunds, manual credits, comps, and discounts. Do not restate general sales metrics like total revenue or top selling items.

Pull yesterday's exceptions from Clover using List Refunds for card refunds, List Credits for manual unreferenced refunds, List Orders for the orders those refunds and discounts belong to, and List Order Discounts for comps and discounts applied at the order level. Manual unreferenced refunds are returned by the credits endpoint and not by the refunds endpoint, so pull both. Manual credits are the single most important category here, and a report built on refunds alone would silently miss them.

Call List Employees once to build an employee id to name lookup, then attribute every exception to a staff member by name so the summary is readable without anyone having to decode an id. When reading orders, use the expand parameter to inline associated objects such as line items and payments, so you are not making a separate follow up call for every order.

Rather than dumping every refund, compare each employee against their own trailing baseline over the past few weeks, roughly the last 30 days. Fetch that baseline window in batched list calls scoped with filter expressions on the time field, for example filter=modifiedTime>1600000000000, rather than making one call per employee per day. Clover allows 16 requests per second per access token with a concurrent cap, and returns 429 with a retry-after header when you exceed it, so honor that header and back off rather than retrying immediately.

Flag an employee when something stands out against their own history, not against a global average, since a busy bartender and a quiet weekday cashier will never look alike. Specifically look for: someone issuing far more manual credits than they normally do, by count or by dollar value; repeated refunds clustered just under a typical manager approval amount, which suggests refunds are being sized to avoid a second signature; unusually heavy comp and discount use relative to that person's own sales volume; and any single unusually high value refund. Rank the flagged items so the most unusual one is first.

Clover wraps list results in an elements array, and returns all monetary amounts as integers in the merchant's smallest currency unit, which is cents for USD, so divide by 100 before showing any dollar figure. Paginate with limit and offset, where limit defaults to 100 and maxes at 1000, and keep advancing the offset until a page returns fewer elements than the limit.

Post a short ranked summary to Slack using the Slack Bot Send a Message action. For each flagged exception, give the employee name, one plain sentence on what stood out and how it compares to their own norm, the dollar amount, and the order or payment reference so a manager can look it up in Clover in seconds. Keep the whole message short enough to read on a phone without opening anything else.

Append one row per flagged exception to a Google Sheets log using Append Values, so there is a running audit trail that builds into a pattern over time. Each row should carry the date, employee name, exception type, dollar amount, the order or payment reference, and a one line reason it was flagged.

If nothing looks unusual, post a single reassuring line to Slack instead of an empty report, and append nothing to the sheet. Write everything in a neutral, non accusatory tone. These are patterns worth a look, not allegations, and most flagged items turn out to be training gaps or honest mistakes, so word each line so a manager can comfortably ask a normal question about it.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery board