Skip to content
Notis

Invoice tied to project status updates

Posting a project status update means the work is progressing—that's a perfect moment to invoice. Notis automates it: status update posted in Linear, invoice created in Stripe instantly.

Trigger

Project Update Posted

Fires when a project status update is posted on the Linear project's Updates tab. 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

Project status updates are progress checkpoints, but you manually invoice later—missing the opportunity to bill aligned with updates.

  • Invoicing is linked to tangible progress updates, not arbitrary dates
  • Notis detects status updates and creates invoices automatically
  • Billing follows real work progress, improving client perception
  • No manual invoice creation needed when updates are posted

Setup

Build it in a few focused steps.

  • 1Connect Linear and Stripe to Notis.
  • 2Create automation: 'When a project status update is posted in Linear, create an invoice in Stripe.'
  • 3Optionally, tell Notis to only trigger on updates containing specific keywords (e.g., 'milestone reached', 'phase complete').
  • 4Set your notification channel for update-triggered invoices.
  • 5Test by posting a status update on a Linear project and checking for the Stripe invoice.

Questions about this workflow

Should I invoice every status update?

You can configure Notis to trigger on all updates or only those with specific keywords ('invoiceable', 'billable', etc.). You control the frequency.

Can I include the status update text in the invoice?

Yes. Notis can read the status update content and include relevant details in the invoice description, tying billing to the specific progress mentioned.

What if a status update is just informational, not billable?

Use keywords or labels to distinguish billable updates from informational ones. Only marked updates trigger invoicing.

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

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

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

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

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

Comment Received Trigger

Triggered when a comment is received.

TriggerInstant

Create Customer

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

ActionInstant

Issue Created Trigger

Triggered when a new issue is created.

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

Issue Updated Trigger

Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.

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

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).

TriggerPolling

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

Private Team Issue Created

Fires when a new issue appears in a private Linear team (polled with the connected user's token).

TriggerPolling

Create product

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

ActionInstant

Private Team Issue Properties Updated

Fires when properties on an issue change in a private Linear team (polled with the connected user's token).

TriggerPolling

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.

Linear and Stripe, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Stripe.