Fair Refunds on Project Cancellation

Project cancelled in Asana? Notis automatically calculates and issues a refund in Stripe. Clients stay happy because fairness is automatic.

Trigger

Task Moved to Section

Triggers when a task is moved to a section in a project.

Stripe logo

Action

Create Refund

Creates a full or partial refund in stripe, targeting either a specific charge id or a payment intent id.

Why this helps

Cancelled projects create billing ambiguity. Founders delay refunds out of confusion or procrastination, damaging client trust. Manual refund calculations are error-prone.

  • Refunds issued immediately when projects are cancelled
  • Prevents billing disputes and client frustration
  • Shows fairness automatically, not as an afterthought
  • Reduces administrative overhead

Setup

Build it in a few focused steps.

  • 1Connect Asana and Stripe to Notis.
  • 2Tell Notis: 'When a project moves to Cancelled, issue a refund in Stripe for the unused time or unfinished work.'
  • 3If needed, specify how to calculate the refund amount (prorated, partial, full).
  • 4Select your notification channel.
  • 5Move a test project to Cancelled in Asana.
  • 6Verify the refund appears in Stripe and reaches the customer.

Questions about this workflow

How does Notis know how much to refund?

You tell Notis the refund rule: 'Refund 50% of the invoice amount' or 'Refund the full amount' or 'Refund based on time spent.' Store the invoice amount in Asana if needed.

What if I want to review the refund before it posts?

Tell Notis to flag cancelled projects for your approval. Notis sends you the refund amount, you approve, and it processes.

Does this work with partial refunds?

Yes. Tell Notis to calculate refunds based on work completed or time used, and it issues a partial refund accordingly.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Asana to Stripe. A trigger fires from one place; an action lands in another.

Asana logo

Asana triggers

Stripe logo

Stripe actions

Attachment Added to Task

Triggers when an attachment is added to a task.

TriggerInstant

Cancel subscription

Cancels a customer's active stripe subscription at the end of the current billing period, with options to invoice immediately for metered usage and prorate charges for unused time.

ActionInstant

New Comment on Task

Triggers when a comment is added to a task in a project.

TriggerInstant

Confirm payment intent

Confirms a stripe paymentintent to finalize a payment; a `return url` is necessary if the payment method requires customer redirection.

ActionInstant

New Task Created

Triggers when a new task is created in a project.

TriggerInstant

Create Customer

Creates a new customer in stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.

ActionInstant

Task Moved to Section

Triggers when a task is moved to a section in a project.

TriggerInstant

Create an invoice

Creates a new draft stripe invoice for a customer; use to revise an existing invoice, bill for a specific subscription (which must belong to the customer), or apply detailed customizations.

ActionInstant

Tag Added to Task

Triggers when a tag is added to a task. Note: Asana's event structure is inverted for tag events — the resource is the task and the parent is the tag. So parent.gid gives the tag GID.

TriggerInstant

Create payment intent

Creates a stripe paymentintent to initiate and process a customer's payment; using `application fee amount` for a connected account requires the `stripe-account` header.

ActionInstant

Task Updated

Triggers when a task is updated in a project.

TriggerInstant

Create a price

Creates a new stripe price for a product, defining its charges (one-time or recurring) and billing scheme; requires either an existing `product` id or `product data`.

ActionInstant

Create product

Creates a new product in stripe, encoding the request as `application/x-www-form-urlencoded` by flattening nested structures.

ActionInstant

Create Refund

Creates a full or partial refund in stripe, targeting either a specific charge id or a payment intent id.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Asana and Stripe. Any combination from 985+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business Stripe.