Overview
The Stripe — Invoice integration creates a Stripe invoice from the line items of a Qwoty quote and optionally finalizes and delivers it to your customer. Depending on your settings, the invoice can be sent directly via Stripe, or paired with a Stripe Checkout payment link and delivered by email via Qwoty with the invoice PDF attached.Authentication
Go to Stripe Dashboard → Developers → API keys and copy your secret key (sk_live_... in production, sk_test_... in test mode).
The secret key requires the following Stripe permissions:
- Customers — read and write (create, search)
- Invoices — read and write (create, finalize, send, attach payment)
- Invoice items — write (create)
- Tax rates — read and write (list, create)
- Checkout Sessions — write (create)
- Webhook endpoints — read and write (list, create)
Behavior
Customer
The integration automatically finds or creates a Stripe customer for each quote:- If a Stripe customer ID is already saved on the Qwoty contact (
external_ids.accounting), it is used directly. - Otherwise, a search is performed in Stripe — first by Qwoty contact UUID, then by billing email.
- If no match is found, a new Stripe customer is created with the contact’s name, email, and billing address. The Stripe customer ID is then saved back to the Qwoty contact for future use.
Line items
One Stripe invoice item is created per billable product in the quote’sproduct sections. If a line item has a discount, a second negative item is added on the same line.
Global discounts on the quote are added as a single negative invoice item at the bottom.
Only sections of type
product are included. Recurring sections (plan) are not supported in this integration.Taxes
Tax rates are resolved automatically for each line item:- If a Stripe Tax Rate ID is already saved on the Qwoty tax (
external_ids.accounting), it is used directly. - Otherwise, the integration searches existing Stripe Tax Rates by percentage and country (parsed from the Qwoty
api_nameformat — e.g.vat_fr_200→ France, 20%). - If no match is found, a new Tax Rate is created in Stripe and its ID is saved back to Qwoty.
Invoice status
If Create invoice as Draft, the invoice is created but not finalized. No email or payment link is sent regardless of other settings. If Create invoice as Open, the invoice is finalized and one of the following actions is triggered:Post-finalization actions
If both options are disabled, the invoice is finalized but not sent.
Settings
Examples
Accepted quote — 4 installments of €2,275.50 The quote has 4 installments. The integration creates a Stripe invoice for the full amount and sends a Checkout payment link for the first installment (€2,275.50) by email.
Once the customer pays the Checkout Session, the payment is automatically attached to the invoice. The invoice status moves to
partially_paid, and subsequent installments can be sent the same way.
