Skip to main content

Overview

The Stripe Billing integration transforms a signed Qwoty order into a Stripe Subscription Schedule. Each pricing plan phase becomes a Stripe phase with its own items, billing frequency, and duration. One-off charges (setup fees, hardware, onboarding) are attached as invoice items on the first billing cycle. Discounts are applied as native Stripe coupons at the item, phase, or add-invoice-item level. If the order contains a start delay, the integration automatically creates a trial period of that duration before billing begins.

Authentication

1

Access your Stripe Dashboard

Go to dashboard.stripe.com and sign in.
2

Create a restricted API key

Navigate to Developers → API keys → Create restricted key.Grant write access to: Customers, Subscriptions, Subscription Schedules, Invoices, Tax rates, Coupons.
3

Copy the secret key

Copy the key starting with sk_live_ (or sk_test_ for testing).
4

Paste into the integration settings

Paste the key into the Workspace API token field below.
If you use multiple Stripe accounts (one per business unit), set Token scope to business_unit and provide one key per business unit ID.

Settings

Authentication

Billing

Taxes

When tax_mode = automatic, no tax rates from Qwoty are sent to Stripe. Stripe Tax must be configured in your Stripe Dashboard.

Trial

A trial is created automatically when the order’s billing start type is sign_day with a delay_days > 0. The trial lasts exactly delay_days days.

Post-creation

Output

What gets created in Stripe

1. Customer (if not already linked) The integration looks up the customer by their Qwoty ID (stored in Stripe metadata), then by email. If not found, a new Stripe customer is created and the Stripe ID is written back to Qwoty (external_ids.accounting). 2. Coupons (one per unique discount amount) For each discount in the order, the integration looks up an existing Stripe coupon with the ID qwoty_{orderId}_{amountCents}_{currency}_{duration} before creating a new one. All Qwoty coupons are prefixed with qwoty_ for easy identification in your Stripe Dashboard. 3. Tax rates (manual mode only) Tax rates are resolved via external_ids.accounting on each tax entry. If not found, the integration searches Stripe by percentage and country, then creates a new tax rate if absent. 4. Subscription Schedule Phases — one per CPQ plan phase: Items per phase — one per billable line item: One-off items (from product sections, added to phase 0):

Example — 2-phase subscription with setup fee

A Qwoty order with one setup fee and two 12-month recurring phases produces:
All prices are sent as gross amounts (HT). Tax is applied by Stripe at invoice generation time, either automatically (Stripe Tax) or via the resolved tax rates.