Existing Stripe accounts and charge rules
Connect a Stripe account you already have, decide per account which charges are invoiced and which are not, and read the charges that were left out. Six new operations, three new fields on connected accounts and five new inbox reasons.
7 October 2026 — Stripe auto-invoicing now works with the Stripe account you already use, and each connected account can say which charges are invoiced and which are not. Read the Stripe auto-invoicing guide for the whole flow.
- Connect an existing Stripe account — when you connect Stripe you can choose between an account you already have (you install the Factuarea Stripe App and authorise it, with no new account) and a new account, as before. Without a choice, the new-account flow applies. See Connect a Stripe account you already have.
- One account, one company — a Stripe account can be active in one company at a
time. Connecting one that is active in another company is rejected with
409stripe_account_linked_elsewhere. See One account, one company. - Treatment rules per account — ordered rules that decide whether a charge is
invoiced (with its own concept and VAT rate) or not invoiced, with a reason from a
closed list (
indemnity_not_subject,multipurpose_voucher,invoiced_elsewhere). The first rule that matches decides. See Charges that are not invoiced. - Non-invoiced charges — each charge left out by a rule is recorded and can be listed. Its refund creates no corrective invoice.
- Concept of charges without Checkout — the single invoice line takes the
concept of the rule, the description of the PaymentIntent, the default concept of
the account (
default_line_concept) or, last, the generic text. See Concept of charges without Checkout. - Invoices created in Stripe — invoices created by hand in Stripe and those
that come from an accepted quote are invoiced from
invoice.paidwith their real lines, and each charge ends up on a single invoice whichever event arrives first. See Invoices created in Stripe. - Seven new inbox reasons —
excluded_by_charge_rule,handled_by_stripe_invoice,stripe_authorization_required,stripe_app_uninstalled,refund_of_non_invoiced_charge,stripe_invoice_without_amount(an invoice created in Stripe with a zero or negative amount) anddeauthorization_not_applicable(an uninstall of a connection the account does not use), all accepted by thediscard_reasonfilter. See the reasons catalog. - Six new MCP tools —
list_stripe_charge_rules,create_stripe_charge_rule,update_stripe_charge_rule,delete_stripe_charge_rule,reorder_stripe_charge_rulesandlist_stripe_non_invoiced_charges, with the same scopes as the operations below. None of them needs anidempotency_key.
Charge rules apply the treatment you configure. Factuarea does not decide whether a charge is subject to VAT, so confirm each rule with your tax advisor.
New operations
The scopes are the existing stripe_autoinvoicing:read and
stripe_autoinvoicing:write; no scope is added.
| Operation | Endpoint | Scope |
|---|---|---|
| List charge treatment rules | GET /v1/connected-accounts/{account}/charge-rules | stripe_autoinvoicing:read |
| Create a charge treatment rule | POST /v1/connected-accounts/{account}/charge-rules | stripe_autoinvoicing:write |
| Reorder the charge treatment rules | PUT /v1/connected-accounts/{account}/charge-rules/order | stripe_autoinvoicing:write |
| Update a charge treatment rule | PUT /v1/connected-accounts/{account}/charge-rules/{rule} | stripe_autoinvoicing:write |
| Delete a charge treatment rule | DELETE /v1/connected-accounts/{account}/charge-rules/{rule} | stripe_autoinvoicing:write |
| List non-invoiced charges | GET /v1/connected-accounts/{account}/non-invoiced-charges | stripe_autoinvoicing:read |
Four new error codes, all documented with their operation:
charge_rule_not_found (404), charge_rule_invalid (422),
charge_rule_limit_reached (422) and stripe_account_linked_elsewhere (409,
when connecting an account from the app).
Updated operations
- Connected accounts — List
and Get a connected account
return three new fields:
connection_method(account_linksorstripe_app),authorization_status(authorized,reauthorization_requiredorrevoked) anddefault_line_concept(nullif unset). Update a connected account acceptsdefault_line_concept(1 to 255 characters;nullclears it, and omitting it leaves it as it is). The MCP tools for connected accounts return the same fields. - Integration events — the
discard_reasonfilter of List integration events accepts the seven new reasons, which also appear in Get an integration event.
The additions are optional: an integration that does not send or read them keeps working as before.