Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 49 additions & 7 deletions docs/preview/belgian-ibans/belgian-ibans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Offering Belgian IBANs expands Swan's local IBAN coverage, allowing you to offer

Belgian IBANs are available for:
- **Account holders** registered in Belgium and in Swan-supported European markets.
- **[Account members](/topics/accounts/memberships/)** invited to a Belgian account, regardless of their location..
- **[Account members](/topics/accounts/memberships/)** invited to a Belgian account, regardless of their location.
- **Business accounts** for Belgian companies and subsidiaries.

## Integration impact
Expand All @@ -32,13 +32,15 @@ Belgian IBAN support maintains full compatibility with existing Swan integration
- **Standard [onboarding flow](/topics/onboarding/)**: Uses existing [individual](/topics/onboarding/individual/) and [company](/topics/onboarding/company/) onboarding processes.
- **Consistent permissions**: Account membership permissions work identically across all local IBANs.

### Onboarding requirements
## Onboarding requirements

Belgian account holders follow Swan's standard onboarding requirements with these specifics:

<FieldRequirementsLegend />

#### Individual accounts
### Individual accounts

#### Account information

| API field | Requirement | Notes |
|---|:---:|---|
Expand All @@ -58,7 +60,23 @@ Belgian account holders follow Swan's standard onboarding requirements with thes
| `residencyAddress.state` | <Opt /> | State or region |
| `taxIdentificationNumber` | <Opt /> | Belgian tax identification |

#### Company accounts
#### Identification

Belgian individual accounts require identity verification following Swan's [identification](/topics/users/identifications/) process.

| Account country | Recommended level | Other supported levels |
|---|---|---|
| 🇧🇪 Belgium | QES | Expert + first transfer<br />PVID |

:::info Identification level
This may change from QES to Expert to align with the Netherlands when launching Belgian IBANs.
:::

[Learn more about identity verification methods ➜](/partnership/document-center/identity/)

### Company accounts

#### Account information

| API field | Requirement | Notes |
|---|:---:|---|
Expand Down Expand Up @@ -87,9 +105,29 @@ Belgian account holders follow Swan's standard onboarding requirements with thes
| `typeOfRepresentation` | <Req /> | Type of legal representation |
| `vatNumber` | <Opt /> | VAT registration number |

#### Identification

***Self-employed accounts***

Belgian self-employed account holders use **QES** identification.

:::info Self-employed identification
We might update self-employed identification to **`QES` + [`First transfer`](/topics/onboarding/account-holders/#first-transfer)** when launching Belgian IBANs.
:::

***Company accounts***

Belgian company accounts require identity verification for the [account admin](/topics/onboarding/company/#representatives).

| Account country | Recommended level | Other supported levels |
|---|---|---|
| 🇧🇪 Belgium | Expert | QES<br />PVID |

[Learn more about identity verification methods ➜](/partnership/document-center/identity/)

#### Ultimate Beneficial Owners (UBOs)

For company accounts, Ultimate Beneficial Owners information is required:
For company accounts, the UBOs information is required:

| API field | Requirement | Notes |
|---|:---:|---|
Expand Down Expand Up @@ -124,7 +162,7 @@ For company accounts, Ultimate Beneficial Owners information is required:
| `personalAddress.postalCode` | <Req /> | Postal code |
| `personalAddress.state` | <Opt /> | State or region |

### Account memberships
## Account memberships

Belgian account memberships follow standard Swan patterns:

Expand All @@ -150,4 +188,8 @@ Belgian account memberships follow standard Swan patterns:
| `restrictedTo.lastName` | <Req /> | Member's last name |
| `restrictedTo.phoneNumber` | <Cnd /> | Phone number - required for advanced permissions |
| `restrictedTo.birthDate` | <Cnd /> | Birth date - required for advanced permissions or card management |
| `taxIdentificationNumber` | <Opt /> | Member's tax identification number |
| `taxIdentificationNumber` | <Opt /> | Member's tax identification number |

## Card printing

Cards for Belgian accounts are printed and shipped from Swan's [🇫🇷 France hub in Dijon](/topics/cards/physical/#hubs-france).
42 changes: 31 additions & 11 deletions docs/topics/capital-deposits/guide-update-company.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,25 @@ import UpdateCompanyPrereqs from './partials/_update-company-prereqs.mdx';

## Guide {#steps}

1. Call the `updateCapitalDepositCompany` mutation.
1. Call the `updateCapitalDepositCaseCompany` mutation.
1. Add the capital deposit case ID.
1. Add the fields you want to update: `companyName` and/or `residencyAddress`.
1. Add the success payload and any information you'd like to receive.
1. Add rejections (not shown).
1. Add rejections.

:::info Automatic synchronization
Updating these fields automatically syncs the data across both the capital deposit case and the associated account holder.
:::

## Mutation {#mutation}

<a href="https://explorer.swan.io?query=bXV0YXRpb24gVXBkYXRlQ29tcGFueSB7CiAgdXBkYXRlQ2FwaXRhbERlcG9zaXRDb21wYW55KAogICAgaW5wdXQ6IHsKICAgICAgaWQ6ICIkQ0FQSVRBTF9ERUBPU0lUX0NBU0VfSUQiCiAgICAgIGNvbXBhbnlOYW1lOiAiQWNtZSIKICAgICAgcmVzaWRlbmN5QWRkcmVzczogewogICAgICAgIGFkZHJlc3NMaW5lMTogIjEwIFJ1ZSBkZSBSaXZvbGkiCiAgICAgICAgY2l0eTogIlBhcmlzIgogICAgICAgIHBvc3RhbENvZGU6ICI3NTAwMSIKICAgICAgICBzdGF0ZTogIsOObGUtZGUtRnJhbmNlIgogICAgICAgIGNvdW50cnk6ICJGUkEiCiAgICAgIH0KICAgIH0KICApIHsKICAgIC4uLiBvbiBVcGRhdGVDYXBpdGFsRGVwb3NpdENvbXBhbnlTdWNjZXNzUGF5bG9hZCB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgY2FwaXRhbERlcG9zaXRDYXNlIHsKICAgICAgICBpZAogICAgICAgIGNvbXBhbnlOYW1lCiAgICAgICAgY29tcGFueU9uYm9hcmRpbmcgewogICAgICAgICAgYWNjb3VudEhvbGRlciB7CiAgICAgICAgICAgIGluZm8gewogICAgICAgICAgICAgIG5hbWUKICAgICAgICAgICAgfQogICAgICAgICAgICByZXNpZGVuY3lBZGRyZXNzIHsKICAgICAgICAgICAgICBhZGRyZXNzTGluZTEKICAgICAgICAgICAgICBjaXR5CiAgICAgICAgICAgICAgcG9zdGFsQ29kZQogICAgICAgICAgICAgIGNvdW50cnkKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIEludGVybmFsRXJyb3JSZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBDYXBpdGFsRGVwb3NpdENhc2VDYW5Ob3RCZUZvdW5kUmVqZWN0aW9uIHsKICAgICAgaWQKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIENhcGl0YWxEZXBvc2l0Q29tcGFueUNhbk5vdEJlVXBkYXRlZFJlamVjdGlvbiB7CiAgICAgIGlkCiAgICAgIG1lc3NhZ2UKICAgIH0KICB9Cn0K&tab=api" className="explorer-badge">Open in API Explorer</a>
<a href="https://explorer.swan.io?query=bXV0YXRpb24gVXBkYXRlQ29tcGFueSB7CiAgdXBkYXRlQ2FwaXRhbERlcG9zaXRDYXNlQ29tcGFueSgKICAgIGlucHV0OiB7CiAgICAgIGNhcGl0YWxEZXBvc2l0Q2FzZUlkOiAiJENBUElUQUxfREVQT1NJVF9DQVNFX0lEIgogICAgICBjb21wYW55TmFtZTogIkFjbWUiCiAgICAgIHJlc2lkZW5jeUFkZHJlc3M6IHsKICAgICAgICBhZGRyZXNzTGluZTE6ICIxMCBSdWUgZGUgUml2b2xpIgogICAgICAgIGNpdHk6ICJQYXJpcyIKICAgICAgICBwb3N0YWxDb2RlOiAiNzUwMDEiCiAgICAgICAgc3RhdGU6ICLDjmxlLWRlLUZyYW5jZSIKICAgICAgICBjb3VudHJ5OiAiRlJBIgogICAgICB9CiAgICB9CiAgKSB7CiAgICAuLi4gb24gVXBkYXRlQ2FwaXRhbERlcG9zaXRDYXNlQ29tcGFueVN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgX190eXBlbmFtZQogICAgICBjYXBpdGFsRGVwb3NpdENhc2UgewogICAgICAgIGlkCiAgICAgICAgY29tcGFueU5hbWUKICAgICAgICBjb21wYW55T25ib2FyZGluZyB7CiAgICAgICAgICBhY2NvdW50SG9sZGVyIHsKICAgICAgICAgICAgaW5mbyB7CiAgICAgICAgICAgICAgbmFtZQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJlc2lkZW5jeUFkZHJlc3MgewogICAgICAgICAgICAgIGFkZHJlc3NMaW5lMQogICAgICAgICAgICAgIGNpdHkKICAgICAgICAgICAgICBwb3N0YWxDb2RlCiAgICAgICAgICAgICAgY291bnRyeQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICAuLi4gb24gQ2FwaXRhbERlcG9zaXRDYXNlQ2FuTm90QmVGb3VuZFJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIEJhZFJlcXVlc3RSZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBWYWxpZGF0aW9uUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gRm9yYmlkZGVuUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gSW50ZXJuYWxFcnJvclJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogIH0KfQo%3D&tab=api" className="explorer-badge">Open in API Explorer</a>

```graphql {2-4} showLineNumbers
```graphql {2-6,15} showLineNumbers
mutation UpdateCompany {
updateCapitalDepositCompany(
updateCapitalDepositCaseCompany(
input: {
id: "$CAPITAL_DEPOSIT_CASE_ID"
capitalDepositCaseId: "$CAPITAL_DEPOSIT_CASE_ID"
companyName: "Acme"
residencyAddress: {
addressLine1: "10 Rue de Rivoli"
Expand All @@ -43,7 +43,7 @@ mutation UpdateCompany {
}
}
) {
... on UpdateCapitalDepositCompanySuccessPayload {
... on UpdateCapitalDepositCaseCompanySuccessPayload {
__typename
capitalDepositCase {
id
Expand All @@ -63,19 +63,39 @@ mutation UpdateCompany {
}
}
}
... on CapitalDepositCaseCanNotBeFoundRejection {
__typename
message
}
... on BadRequestRejection {
__typename
message
}
... on ValidationRejection {
__typename
message
}
... on ForbiddenRejection {
__typename
message
}
... on InternalErrorRejection {
__typename
message
}
}
}
```

## Payload {#payload}

```graphql {6-7,11,14-18} showLineNumbers
```graphql {} showLineNumbers
{
"data": {
"updateCapitalDepositCompany": {
"__typename": "UpdateCapitalDepositCompanySuccessPayload",
"updateCapitalDepositCaseCompany": {
"__typename": "UpdateCapitalDepositCaseCompanySuccessPayload",
"capitalDepositCase": {
"id": "$CAPITAL_DEPOSIT_CASE_ID",
"id": "a4c9da36-56e1-4ed8-b0a1-2c9f3d7e8b12",
"companyName": "Acme",
"companyOnboarding": {
"accountHolder": {
Expand Down
47 changes: 36 additions & 11 deletions docs/topics/capital-deposits/guide-update-shareholder-amount.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,25 @@ import UpdateShareholderPrereqs from './partials/_update-shareholder-prereqs.mdx
## Guide {#steps}

1. Call the `updateCapitalDepositShareholderAmount` mutation (line 2).
1. Add the shareholder ID (line 3).
1. Add the updated amount in the `amount` field (line 3).
1. Add the shareholder ID (line 4).
1. Add the updated amount in the `shareholderAmount` field (line 5).
1. Add the `UpdateCapitalDepositShareholderAmountSuccessPayload` and any information you'd like to receive.
1. Add rejections (not shown).
1. Add rejections.

:::info Automatic recalculation
Updating a shareholder's deposit amount automatically triggers a recalculation of the total capital deposit amount for the case.
:::

## Mutation {#mutation}

<a href="https://explorer.swan.io?query=bXV0YXRpb24gVXBkYXRlU2hhcmVob2xkZXJBbW91bnQgewogIHVwZGF0ZUNhcGl0YWxEZXBvc2l0U2hhcmVob2xkZXJBbW91bnQoCiAgICBpbnB1dDogeyBpZDogIiRTSEFSRUhPTERFUl9JRCIsIGFtb3VudDogeyBjdXJyZW5jeTogIkVVUiIsIHZhbHVlOiAiMTAwMCIgfSB9CiAgKSB7CiAgICAuLi4gb24gVXBkYXRlQ2FwaXRhbERlcG9zaXRTaGFyZWhvbGRlckFtb3VudFN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgX190eXBlbmFtZQogICAgICBzaGFyZWhvbGRlciB7CiAgICAgICAgaWQKICAgICAgICBjYXBpdGFsRGVwb3NpdEFtb3VudCB7CiAgICAgICAgICBjdXJyZW5jeQogICAgICAgICAgdmFsdWUKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBJbnRlcm5hbEVycm9yUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gQ2FwaXRhbERlcG9zaXRTaGFyZWhvbGRlck5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgaWQKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIENhcGl0YWxEZXBvc2l0U2hhcmVob2xkZXJDYW5Ob3RCZVVwZGF0ZWRSZWplY3Rpb24gewogICAgICBpZAogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=api" className="explorer-badge">Open in API Explorer</a>

```graphql {2-3} showLineNumbers
<a href="https://explorer.swan.io?query=bXV0YXRpb24gVXBkYXRlU2hhcmVob2xkZXJBbW91bnQgewogIHVwZGF0ZUNhcGl0YWxEZXBvc2l0U2hhcmVob2xkZXJBbW91bnQoCiAgICBpbnB1dDogewogICAgICBzaGFyZWhvbGRlcklkOiAiJFNIQVJFSE9MREVSX0lEIgogICAgICBzaGFyZWhvbGRlckFtb3VudDogeyBjdXJyZW5jeTogIkVVUiIsIHZhbHVlOiAiMTAwMCIgfQogICAgfQogICkgewogICAgLi4uIG9uIFVwZGF0ZUNhcGl0YWxEZXBvc2l0U2hhcmVob2xkZXJBbW91bnRTdWNjZXNzUGF5bG9hZCB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgc2hhcmVob2xkZXIgewogICAgICAgIGlkCiAgICAgICAgY2FwaXRhbERlcG9zaXRBbW91bnQgewogICAgICAgICAgY3VycmVuY3kKICAgICAgICAgIHZhbHVlCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICAuLi4gb24gQ2FwaXRhbERlcG9zaXRDYXNlQ2FuTm90QmVGb3VuZFJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIENhcGl0YWxEZXBvc2l0U2hhcmVob2xkZXJDYW5ub3RCZUZvdW5kUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gQ2FwaXRhbERlcG9zaXRTaGFyZWhvbGRlckNhbk5vdEJlVXBkYXRlZFJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIFZhbGlkYXRpb25SZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBJbnRlcm5hbEVycm9yUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=api" className="explorer-badge">Open in API Explorer</a>
```graphql {2-5,8} showLineNumbers
mutation UpdateShareholderAmount {
updateCapitalDepositShareholderAmount(
input: { id: "$SHAREHOLDER_ID", amount: { currency: "EUR", value: "1000" } }
input: {
shareholderId: "$SHAREHOLDER_ID",
shareholderAmount: { currency: "EUR", value: "1000" }
}
) {
... on UpdateCapitalDepositShareholderAmountSuccessPayload {
__typename
Expand All @@ -43,22 +45,45 @@ mutation UpdateShareholderAmount {
}
}
}
... on CapitalDepositCaseCanNotBeFoundRejection {
__typename
message
}
... on CapitalDepositShareholderCannotBeFoundRejection {
__typename
message
}
... on CapitalDepositShareholderCanNotBeUpdatedRejection {
__typename
message
}
... on ValidationRejection {
__typename
message
}
... on ForbiddenRejection {
__typename
message
}
... on InternalErrorRejection {
__typename
message
}
}
}
```

## Payload {#payload}

```graphql {6,8-10} showLineNumbers
```graphql {6,8-9} showLineNumbers
{
"data": {
"updateCapitalDepositShareholderAmount": {
"__typename": "UpdateCapitalDepositShareholderAmountSuccessPayload",
"shareholder": {
"id": "$SHAREHOLDER_ID",
"id": "fc995f3f-09aa-42e4-9e2f-c4e1185e6b57",
"capitalDepositAmount": {
"currency": "EUR",
"value": "1000"
"value": "1000.00"
}
}
}
Expand Down
Loading