FINANCE

Detect Mid-Cycle Plan Change Mischarges and Queue Credit Memos

Listens for Stripe subscription plan changes, recomputes the correct prorated amount.

CategoryFinance
Enginesim
Difficultyintermediate
Triggerevent
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerStripe subscription.updated eventStripeStripe
  • LogicKeep only mid-cycle price/quantity changes
  • ActionFetch invoice and proration line itemsStripeStripe
  • LogicRecompute expected proration and compute delta
  • LogicBranch on delta exceeding tolerance
  • OutputQueue credit-memo draft for review in SlackSlack

What it does

When a customer upgrades or downgrades mid-cycle, Stripe's automatic proration occasionally diverges from your contracted pricing (custom discounts, grandfathered rates, partial-day rounding). This workflow recalculates what the proration *should* have been from the old and new plan, compares it to what Stripe actually invoiced, and opens a credit-memo review item whenever the gap exceeds your tolerance.

When to use it

Run this when you offer mid-cycle upgrades/downgrades and carry non-standard pricing where Stripe's default proration can't be fully trusted. It catches silent over-billing (a refund you owe) and under-billing (revenue leakage) before either turns into a support ticket or an audit finding.

How it works

  1. 1A Stripe `customer.subscription.updated` event fires when a plan item changes.
  2. 2A filter keeps only events where the price or quantity actually changed mid-period.
  3. 3The workflow fetches the prior invoice and the proration line items from Stripe.
  4. 4It recomputes the expected prorated charge from contracted rates and compares against the invoiced amount.
  5. 5If the delta exceeds the tolerance, a credit-memo draft (customer, delta, direction, evidence) is posted to the finance review channel in Slack for approval.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect StripeCustomers, subscriptions, payments.
  2. 2
    Connect SlackChannels, DMs, threads, mentions.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.