---
title: "Update a connected Stripe account"
method: PATCH
path: "/companies/{company}/connected-accounts/{account}"
tags: ["Stripe"]
---

# Update a connected Stripe account

`PATCH /companies/{company}/connected-accounts/{account}`

## Request

- Base URL: `https://api.factuarea.com/v1`
- URL: `https://api.factuarea.com/v1/companies/{company}/connected-accounts/{account}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Updates a connected Stripe account; omitted fields keep their value.
- Editable: `name`, `series_id` (`null` uses the company default series) and the per-account fiscal policy.
- `invoice_note` (up to 500 characters) goes in auto-created invoices; `null` clears it.

## Path parameters

- `company` string, uuid, required
- `account` string, uuid, required

## Headers

- `Idempotency-Key` string, required
- `Factuarea-Version` string, date

## Request body

- UpdateConnectedAccountRequest: Update a connected Stripe account (multi-store). All fields are optional with merge semantics (an omitted field is left unchanged): `name`, `series_id` (auto-invoicing series UUID; `null` clears it back to the company default), `simplified_threshold_cents` (0-300000), `autoinvoicing_enabled`, `require_nif`, `refunds_enabled`, `subscription_autoinvoicing_enabled`, `invoice_note` (up to 500 characters, written in the notes of the auto-created invoices; `null` clears it) and the Stripe fee expense settings `fee_expenses_enabled`, `fee_expenses_tax_treatment` and `fee_expenses_since`. Turning fee expenses on requires the purchases module of the plan (403 `feature_not_available_in_plan`) and a tax treatment and a first month, sent or already stored (400 `parameter_missing`). A treatment or month outside the catalog is rejected with 422 `parameter_invalid_value`. The company platform account does not accept `subscription_autoinvoicing_enabled`: its subscriptions are invoiced by Factuarea (422 `parameter_invalid_value`, subcode `platform_account_subscriptions_owned_by_billing`).
  - `name` string
  - `series_id` string, nullable
  - `simplified_threshold_cents` integer
  - `autoinvoicing_enabled` boolean
  - `require_nif` boolean
  - `refunds_enabled` boolean
  - `subscription_autoinvoicing_enabled` boolean
  - `default_line_concept` string, nullable
  - `invoice_note` string, nullable
  - `fee_expenses_enabled` boolean: Turns on or off the monthly purchase expense that records the Stripe fees of this account (Stripe accounts only). Turning it on requires the purchases module of the plan and, once on, a `fee_expenses_tax_treatment` and a `fee_expenses_since` (sent in the same request or already stored). Turning it off keeps the stored treatment and month and the expenses already created.
  - `fee_expenses_tax_treatment` string: Tax treatment of the fee expense: `reverse_charge_eu` (intra-community purchase at 21 %, self-assessed) or `exempt` (0 %, exemption cause E1). Any other value is rejected with 422 `parameter_invalid_value`.
  - `fee_expenses_since` string: First month to record as a fee expense, as `YYYY-MM`. It cannot be later than the current month, and only closed months are recorded. A malformed or future month is rejected with 422 `parameter_invalid_value`.

## Response `200`

- object
  - `data` ConnectedAccount, required: A connected Stripe account (Stripe Connect, multi-store) for your company. The public `id` is the account UUID v7. `external_account_id` (`acct_xxx`) is the external Stripe id, not a foreign key. `series_id` is the UUID v7 of the auto-invoicing document series (`null` means the company default series). The configuration fields are the effective per-account auto-invoicing settings.
    - `id` string, uuid, required: UUID v7 of the connected account. Public identity (KEY `id`).
    - `object` 'connected_account', required: Stripe-like discriminator. Always `connected_account` for this resource.
    - `name` string, required: Editable display name of the connected account.
    - `external_account_id` string, required: External Stripe connected account id (`acct_xxx`). NOT an internal UUID nor a foreign key.
    - `external_account_name` string, nullable, required: Account name reported by Stripe, or `null` if unknown.
    - `series_id` string, uuid, nullable, required: UUID v7 of the document series used for invoices auto-created from this account. `null` means the company default series is used.
    - `autoinvoicing_enabled` boolean, required: Whether auto-invoicing of charges on this account is enabled. Defaults to `false`.
    - `simplified_threshold_cents` integer, required: Simplified invoice (F2) threshold in cents for this account, range `[0, 300000]` (0–3,000 €). Defaults to 40000 (400 €).
    - `require_nif` boolean, required: Whether a Spanish tax ID (NIF) is required for auto-invoicing on this account. Defaults to `false`.
    - `refunds_enabled` boolean, required: Whether a Stripe refund (`charge.refunded`) on this account automatically generates a linked corrective invoice. Defaults to `true`.
    - `subscription_autoinvoicing_enabled` boolean, required: Whether Stripe subscription cycles on this account are auto-invoiced. Defaults to `false`.
    - `default_line_concept` string, nullable, required: Default concept of the single line created for charges whose lines cannot be recovered, or `null` if not configured. Editable with `PATCH /v1/companies/{company}/connected-accounts/{account}`.
    - `invoice_note` string, nullable, required: Optional note written in the notes of the invoices auto-created from this account, or `null` when none is configured (the default: invoices carry no note). When a charge needed a currency conversion to EUR, the conversion trace is appended to the note. Editable with `PUT`; `null` or an empty string clears it.
    - `connection_method` 'account_links' | 'stripe_app' | 'platform', required: How the account was linked to Stripe: `account_links` (Stripe Connect onboarding), `stripe_app` (Stripe App) or `platform` (the own Stripe account of the company that issues the Factuarea invoices; it has no stored credential and does not accept `subscription_autoinvoicing_enabled`). Read-only.
    - `authorization_status` 'authorized' | 'reauthorization_required' | 'revoked', required: Authorization state of the link with Stripe: `authorized`, `reauthorization_required` (the account must be linked again) or `revoked`. Read-only.
    - `status` 'active' | 'disconnected', required: Account status. `active` while connected; `disconnected` (terminal) after disconnecting (invoices and history are kept).
    - `connected_at` string, date-time, nullable, required: When the account was connected (ISO 8601), or `null` if unknown.
    - `fee_expenses_enabled` boolean, required: Whether the Stripe fees of this account are recorded as a monthly purchase expense. Defaults to `false`. Editable with `PATCH /v1/companies/{company}/connected-accounts/{account}`.
    - `fee_expenses_tax_treatment` 'reverse_charge_eu' | 'exempt' | 'null', nullable, required: Tax treatment of the fee expense: `reverse_charge_eu` (intra-community purchase at 21 %, self-assessed) or `exempt` (0 %, exemption cause E1). `null` until it is configured.
    - `fee_expenses_since` string, nullable, required: First month recorded as a fee expense, as `YYYY-MM`, or `null` until it is configured.

## Other responses

- `400`: The request is syntactically malformed — e.g. an unknown query parameter, an integer parameter with non-numeric value, or a value outside the documented range.
- `401`: Missing or invalid API key.
- `403`: The request is authenticated but not allowed: the API key lacks the required scope (`insufficient_scope`), the plan does not include the public API or this feature (`addon_not_active`, `feature_not_available_in_plan`), or the module is not available with a test key (`module_not_available_in_sandbox`).
- `404`: The requested resource does not exist or belongs to another company.
- `409`: The request conflicts with data that already exists or with a request running at the same time. `resource_conflict`: another request was reserving identifiers for the same kind of record at that moment and this one could not complete its reservation. Nothing was written; send the request again after a few seconds.
- `422`: Validation failed. The `error.param` field identifies which input is invalid.
- `429`: Rate limit exceeded. Retry after the duration in `Retry-After`.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/factuarea/apis/factuarea-public-api.md) · [All operations](https://skmtc.dev/factuarea/apis/factuarea-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/factuarea/apis/factuarea-public-api/revisions/718e77934422?raw)
