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.
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 triggers
Stripe actions
Attachment Added to Task
Triggers when an attachment is added to a task.
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.
New Comment on Task
Triggers when a comment is added to a task in a project.
Confirm payment intent
Confirms a stripe paymentintent to finalize a payment; a `return url` is necessary if the payment method requires customer redirection.
New Task Created
Triggers when a new task is created in a project.
Create Customer
Creates a new customer in stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.
Task Moved to Section
Triggers when a task is moved to a section in a project.
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.
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.
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.
Task Updated
Triggers when a task is updated in a project.
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`.
Create product
Creates a new product in stripe, encoding the request as `application/x-www-form-urlencoded` by flattening nested structures.
Create Refund
Creates a full or partial refund in stripe, targeting either a specific charge id or a payment intent id.
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.
