Invoice Work the Moment It Closes

When you mark an issue as done in GitHub, Notis instantly creates an invoice in Stripe. No more forgetting to bill for work you've already shipped.

Trigger

Issue Updated

Triggers when an existing issue is updated in a GitHub repository. Monitors issues for any changes such as title edits, body edits, label changes, assignee changes, state transitions (opening, closing, reopening), milestone updates, and comment additions. Only pre-existing issues that receive updates are emitted; newly created issues are excluded. Pull requests are also excluded -- only true issues fire events.

Stripe logo

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

Completed work goes unbilled for days because invoicing feels like a separate task. Work-in-progress becomes difficult to track across tools. Late invoicing delays cash flow.

  • Invoicing happens automatically when work ships
  • Cash flow improves because billing is never delayed
  • One unified workflow for shipping and billing
  • Reduces cognitive load of remembering to invoice

Setup

Build it in a few focused steps.

  • 1Ensure GitHub and Stripe are connected in Notis (one-time per workspace).
  • 2Create an automation with your prompt: 'When an issue is closed, create a draft invoice in Stripe for that work item.'
  • 3Set the trigger to 'Issue Updated' (detecting closure) and pick your notification channel.
  • 4Test by closing a sample issue and confirming a draft invoice appears in Stripe.

Questions about this workflow

Should I use draft or finalized invoices?

Draft invoices are created so you can review before sending. Change the automation prompt to 'finalized' if you want them sent immediately.

What if an issue is reopened?

Reopened issues don't auto-delete the invoice. You'll need to manually handle refunds or invoice adjustments for regressions.

Can I customize the invoice line items?

Yes. Tell Notis your preferred format, like 'use the issue title as the description' or 'use a fixed rate per issue'.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

GitHub logo

GitHub triggers

Stripe logo

Stripe actions

New Workflow Artifact Created

Triggers when a new workflow artifact is created in a GitHub repository. Monitors for newly created GitHub Actions workflow artifacts. Optionally filters by artifact name to restrict monitoring to specific artifacts.

TriggerPolling

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

Branch Changed

Triggers when a GitHub branch changes. Monitors a specific branch for: - New commits pushed (head commit SHA changes) - Protection status toggled (branch becomes protected or unprotected) - Protection settings changed, including: required status checks and their enforcement level, admin enforcement, required pull request reviews (dismiss stale reviews, code owner reviews, approving review count, last push approval), required linear history, force push allowance, deletion allowance, conversation resolution, branch locking, and fork syncing.

TriggerPolling

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 Branch Created

Triggers when a new branch is created in a GitHub repository. Detects newly created branches. Deleted branches do not fire events.

TriggerPolling

Create Customer

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

ActionInstant

Check Run Status / Conclusion Changed

Triggers when a specific GitHub check run changes its status or conclusion. Monitors a single check run for changes to: status (queued, in_progress, completed, etc.), conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required), started_at, and completed_at.

TriggerPolling

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

Check Suite Status / Conclusion Changed

Triggers when a GitHub check suite changes its status or conclusion for a given ref. Monitors all check suites associated with a git reference (branch, tag, or commit SHA) for changes to status (queued, in_progress, completed, etc.) and conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required, startup_failure, stale). Optionally filters by GitHub App ID.

TriggerPolling

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

New Code Scanning Alert Created

Triggers when a new code scanning alert is created in a repository. Fires an event for each newly created code scanning alert detected in the configured repository. Alerts can be filtered by Git reference, scanning tool, state, and severity. The payload includes the alert number, rule details, tool information, state, severity, and the location of the most recent instance.

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

New Repository Collaborator Added

Triggers when a new collaborator is added to a GitHub repository. Monitors the full list of collaborators on a repository and fires an event for each newly added collaborator. The payload includes the collaborator's GitHub username, account ID, profile URL, avatar URL, permission flags (pull, triage, push, maintain, admin), and assigned role name.

TriggerPolling

Create product

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

ActionInstant

Commit Event

Triggered when a new commit is pushed to a repository.

TriggerInstant

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