Invoice on revenue milestones
Instead of manually invoicing when you hit revenue targets, let Notis create invoices the moment the numbers are right.
Trigger
Aggregate Metric Changed
Triggers when an aggregate metric (SUM/COUNT/AVG/MIN/MAX) changes in a Google Sheets spreadsheet. This trigger monitors an aggregate calculation on a target column (optionally filtered by a search column/value) and fires when the calculated result changes.
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
Tracking revenue across customers and deciding when to invoice is cognitively taxing. Notis can monitor your aggregated sales and trigger invoicing automatically when thresholds are met, removing one more manual decision.
- Invoice customers consistently at revenue milestones
- No manual revenue tracking or invoicing calls
- Predictable billing cycles tied to business metrics
- One less thing to remember or track
Setup
Build it in a few focused steps.
- 1Set up a Google Sheet that aggregates your monthly revenue (SUM of sales column)
- 2Connect both Google Sheets and Stripe to Notis
- 3Create the automation: 'When my monthly revenue sum exceeds $X, create an invoice for my main customer'
- 4Select the trigger: Aggregate Metric Changed
- 5Test by adding sample transactions and watching the invoice appear in Stripe
Questions about this workflow
Can I invoice different customers at different thresholds?
Yes. Use multiple automations, one per customer or customer group, each with its own threshold.
What if the aggregate goes up and down?
Notis fires each time the calculated value changes, so if your sum fluctuates, you'll get multiple triggers. You can add logic in your prompt to prevent duplicate invoices.
How do I know which customer to invoice?
Include a column in your sheet for the account or customer ID, and mention it in your prompt: 'Invoice the customer listed in the Account column'.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Google Sheets to Stripe. A trigger fires from one place; an action lands in another.
Google Sheets triggers
Stripe actions
Aggregate Metric Changed
Triggers when an aggregate metric (SUM/COUNT/AVG/MIN/MAX) changes in a Google Sheets spreadsheet. This trigger monitors an aggregate calculation on a target column (optionally filtered by a search column/value) and fires when the calculated result changes.
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.
Cell Range Values Changed
Triggers when values in a specified A1 range change in Google Sheets. This trigger monitors a specific cell or range of cells and fires when any values change.
Confirm payment intent
Confirms a stripe paymentintent to finalize a payment; a `return url` is necessary if the payment method requires customer redirection.
Conditional Format Rule Changed
Triggers when conditional formatting rules change in a Google Spreadsheet. Detects when rules are added, updated, or removed. Uses snapshot-based diffing to detect changes between polls.
Create Customer
Creates a new customer in stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.
Data Validation Rule Changed
Triggers when data validation rules change (added/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.
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.
Developer Metadata Changed
Triggers when developer metadata entries change (new/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.
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.
Filtered Range Values Changed
Polling trigger that monitors Google Sheets filtered ranges for value changes. Uses snapshot-based diffing to detect when values matching a data filter change. Emits the matched values when changes are detected.
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`.
New Rows in Google Sheet
Simple polling trigger that monitors Google Sheets for new rows. Detects when new rows are added and returns the complete row data. Perfect for triggering any workflow based on new sheet entries.
Create product
Creates a new product in stripe, encoding the request as `application/x-www-form-urlencoded` by flattening nested structures.
New Sheet Added in Google Spreadsheet
Polling trigger that detects when a new sheet is added to a Google Spreadsheet.
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 Google Sheets 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.
