Invoice aligned with project milestones
Milestone-based billing is fair and logical, but tracking which milestones have shipped and invoicing accordingly is a manual nightmare. Notis automates it: milestone reached in Linear, invoice created in Stripe, no busywork.
Trigger
Project Properties Updated
Fires when properties on a Linear project change (status, lead, target date, priority, etc.). Covers projects in both public and private teams — polls with the connected user's token.
Action
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.
Why this helps
Milestone-based billing needs you to remember which milestones are done and manually invoice each one. It's easy to miss a milestone or invoice late.
- Invoicing is tied to actual project progress, not arbitrary dates
- Notis detects milestone completion automatically and triggers invoicing
- No manual tracking of which milestones have been invoiced
- Clear link between milestones achieved and money owed
Setup
Build it in a few focused steps.
- 1Connect Linear and Stripe integrations to Notis.
- 2Create automation: 'When a Linear project's milestone or target date changes to completed, create an invoice in Stripe.'
- 3Tell Notis which project properties signal milestone completion (e.g., status label changes to 'milestone complete').
- 4Confirm the notification channel for milestone-triggered invoices.
- 5Test by marking a milestone complete on a Linear project and checking Stripe for the invoice.
Questions about this workflow
Can I invoice different amounts for different milestones?
Yes. Include milestone-specific amounts in the Linear project description, or tag each milestone with its billing amount. Notis reads that and invoices accordingly.
What if a milestone changes but hasn't actually shipped?
Use clear Linear statuses or labels to distinguish 'in progress' from 'complete.' Notis only triggers on the completion status you specify.
Can this work with phased projects where invoicing is staggered?
Absolutely. Each phase or milestone in Linear can have its own invoicing rule. Notis will create invoices as each phase completes.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Linear to Stripe. A trigger fires from one place; an action lands in another.
Linear triggers
Stripe actions
Comment Received Trigger
Triggered when a comment is received.
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.
Issue Created Trigger
Triggered when a new issue is created.
Confirm payment intent
Confirms a stripe paymentintent to finalize a payment; a `return url` is necessary if the payment method requires customer redirection.
Issue Updated Trigger
Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.
Create Customer
Creates a new customer in stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.
Private Team Comment Created
Fires when a new comment is posted on an issue in a private Linear team (polled with the connected user's token).
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.
Private Team Issue Created
Fires when a new issue appears in a private Linear team (polled with the connected user's token).
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.
Private Team Issue Properties Updated
Fires when properties on an issue change in a private Linear team (polled with the connected user's token).
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`.
Project Created
Fires when a new Linear project is created. Covers projects in both public and private teams — polls with the connected user's token, so visibility matches what the connected user can see in Linear.
Create product
Creates a new product in stripe, encoding the request as `application/x-www-form-urlencoded` by flattening nested structures.
Project Properties Updated
Fires when properties on a Linear project change (status, lead, target date, priority, etc.). Covers projects in both public and private teams — polls with the connected user's token.
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 Linear 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.
