ClearBank.EmbeddedBanking.Isa (ClearBank v1.0.0)

Copy Markdown View Source

Flexible Cash ISA management for embedded retail customers.

Key facts

  • ISA subscription limits are set by HMRC annually.
  • Flexible ISAs allow withdrawals and re-subscriptions within the same tax year.
  • ISA transfers-in must follow the HMRC ISA transfer process.

Examples

{:ok, isa} = ClearBank.EmbeddedBanking.Isa.create(client, %{
  customer_id: "cust-uuid",
  account_name: "Alice's Cash ISA"
})

{:ok, _} = ClearBank.EmbeddedBanking.Isa.transfer_in(client, "isa-acct-uuid", %{
  previous_provider_name: "Barclays",
  previous_provider_reference: "ISA123456",
  transfer_amount: "5000.00",
  transfer_type: "Cash"
})

Summary

Functions

Creates a Flexible Cash ISA account for a retail customer.

Submits an ISA transfer-in request from a previous provider.

Functions

create(client, params)

@spec create(ClearBank.Client.t(), map()) :: ClearBank.HTTP.result()

Creates a Flexible Cash ISA account for a retail customer.

Required params

  • :customer_id - UUID of the retail customer
  • :account_name - display name

transfer_in(client, account_id, params)

@spec transfer_in(ClearBank.Client.t(), String.t(), map()) :: ClearBank.HTTP.result()

Submits an ISA transfer-in request from a previous provider.

Required params

  • :previous_provider_name - name of the previous ISA provider
  • :previous_provider_reference - ISA reference at the previous provider
  • :transfer_amount - decimal string amount to transfer
  • :transfer_type - "Cash" | "InSpecie"

Optional params

  • :previous_tax_year - boolean, true if transferring previous years' ISA subscriptions