{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["json-schema"]},"type":"markdown"},"seo":{"title":"Transfer Configuration","description":"Fondo is the ground breaking open finance platform that lets you focus on what matters","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":["openapi"],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"transfer-configuration","__idx":0},"children":["Transfer Configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfer"]}," field on a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["createAccount"]}," journey adds a 3rd-party holdings transfer step — moving assets from another institution into the new account. When set, the customer authorizes and configures the transfer as part of account opening. Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfer"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," to omit the step entirely."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"key-concepts","__idx":1},"children":["Key concepts"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enforce"]}]}," — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"required\""]}," means the customer must complete the transfer step; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"optional\""]}," means they can skip it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accounts"]}]}," — each entry describes one source account at the custodian. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accountNumber: null"]}," means the customer enters it; a provided value is readonly. When ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accountNumber"]}," is set, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceAccountType"]}," must be a single-entry array."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Output fields"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["defaultUnitsOutput"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["balanceOutput"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["untransferableUnitsOutput"]},") each accept an array of either a single entry — which locks the behavior — or multiple entries, which let the customer choose:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cash"]}," — sell and transfer as cash"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["units"]}," — transfer as fund units"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ignore"]}," — leave on the source account"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instruments"]}]}," — list specific holdings to handle explicitly. Anything not in this list falls back to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["defaultUnitsOutput"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allowInstrumentSelection"]}]}," — when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},", the customer can add instruments to the transfer in addition to those listed."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"examples","__idx":2},"children":["Examples"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"move-a-specific-holding-from-unknown-account-number-the-rest-is-left-on-account","__idx":3},"children":["Move a specific holding from unknown account number. The rest is left on account."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The customer enters the account number. One specific fund is transferred as units in full. All other holdings and the cash balance are left on the source account. Account is not closed."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"enforce\": \"required\",\n  \"transfers\": [\n    {\n      \"custodian\": \"<institutionId>\",\n      \"accounts\": [\n        {\n          \"accountNumber\": null,\n          \"sourceAccountType\": [\"isk\"],\n          \"required\": true,\n          \"allowInstrumentSelection\": false,\n          \"defaultUnitsOutput\": [\"ignore\"],\n          \"balanceOutput\": [\"ignore\"],\n          \"closeAccountAndSavingsplans\": false,\n          \"untransferableUnitsOutput\": [\"ignore\"],\n          \"instruments\": [\n            {\n              \"id\": \"<fundId>\",\n              \"unitType\": [\"full\"],\n              \"outputType\": [\"units\"]\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"move-all-holdings-and-balance-from-known-account-number","__idx":4},"children":["Move all holdings and balance from known account number"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Account number is known and readonly. All fund units transfer as units, the cash balance transfers as cash, and the source account and savings plans are closed after completion. Any untransferable units are sold to cash."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"enforce\": \"required\",\n  \"transfers\": [\n    {\n      \"custodian\": \"<institutionId>\",\n      \"accounts\": [\n        {\n          \"accountNumber\": \"5311145347\",\n          \"sourceAccountType\": [\"isk\"],\n          \"required\": true,\n          \"allowInstrumentSelection\": false,\n          \"untransferableUnitsOutput\": [\"cash\"],\n          \"defaultUnitsOutput\": [\"units\"],\n          \"balanceOutput\": [\"cash\"],\n          \"closeAccountAndSavingsplans\": true\n        }\n      ]\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"user-selects-all-options","__idx":5},"children":["User selects all options"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The transfer step is optional and the customer controls all output choices: how to handle each holding type, the cash balance, and untransferable units. They can also select specific instruments to transfer. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["closeAccountAndSavingsplans: null"]}," lets the customer decide. Additional custodians can be appended to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transfers"]}," array alongside the one shown."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"enforce\": \"optional\",\n  \"transfers\": [\n    {\n      \"custodian\": \"<institutionId>\",\n      \"accounts\": [\n        {\n          \"accountNumber\": \"1234567890\",\n          \"sourceAccountType\": [\"isk\"],\n          \"required\": false,\n          \"allowInstrumentSelection\": true,\n          \"untransferableUnitsOutput\": [\"cash\", \"ignore\"],\n          \"defaultUnitsOutput\": [\"cash\", \"units\", \"ignore\"],\n          \"balanceOutput\": [\"cash\", \"ignore\"],\n          \"closeAccountAndSavingsplans\": null\n        }\n      ]\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"schema","__idx":6},"children":["Schema"]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"../../openapi/models/journey/createAccount/transfer.yaml#/transfer"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/transfer"},"uuid":{"$id":"/models/uuid.yaml","title":"UUID","type":"string","example":"49ad7378-121c-4a53-9894-dfd14a7b4877","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"transfer":{"title":"Transfer","description":"Transfer configuration from 3rd party institution into newly created Fondo Account.\nIf defined, the transfer screen is shown.\nIf `null` the transfer view will not be shown.\n","type":["object","null"],"required":["enforce","transfers"],"properties":{"enforce":{"type":"string","enum":["required","optional"],"description":"Controls whether the end user can skip the transfer step.\n`required` means the end user must complete the transfer step.\n`optional` means the end user may skip the transfer step.\n"},"transfers":{"description":"List of custodians and their accounts to transfer from.\nThe custodian is always readonly. Account numbers, when provided, are readonly.\n","type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["custodian","accounts"],"properties":{"custodian":{"$ref":"#/components/schemas/uuid","description":"ID matching a custodian."},"accounts":{"type":"array","description":"Accounts at this custodian. Each account is either known (accountNumber set)\nor unknown (accountNumber null, end user enters it).\n","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["accountNumber","required","defaultUnitsOutput","balanceOutput","closeAccountAndSavingsplans","sourceAccountType","untransferableUnitsOutput","allowInstrumentSelection"],"if":{"properties":{"accountNumber":{"type":"string"}}},"then":{"properties":{"sourceAccountType":{"maxItems":1}}},"properties":{"accountNumber":{"type":["string","null"],"description":"Account number at the custodian. Readonly when provided.\nIf `null`, the end user enters the account number.\nAt most one `null` account number is allowed per custodian across all transfer entries.\n","example":"1223456789"},"sourceAccountType":{"type":"array","minItems":1,"items":{"type":"string","enum":["isk","depot","insurance"]},"description":"Allowed source account types at the custodian.\nA single entry locks the type; multiple entries let the end user pick.\nEach entry must be one of the journey's `accountTypes`.\nLocked to one entry when `accountNumber` is provided.\n"},"closeAccountAndSavingsplans":{"type":["boolean","null"],"description":"Should the custodian close the account and corresponding savingsplans\nafter the transfer is complete?\nIf \"null\", the user must decide.\n"},"required":{"type":"boolean","description":"If true, the end user must complete this transfer.\nIf false, the end user may deselect this transfer.\n"},"untransferableUnitsOutput":{"description":"If units are selected as output of unit transfer - what to transfer as if the transfer fails.\nI.e. the instrument does not exist in universe or trading is stopped.\nIf a single entry, the behavior is locked.\nIf multiple entries, the end user picks.\n`cash` — sell and transfer as cash.\n`ignore` — leave them.\n","type":"array","minItems":1,"items":{"type":"string","enum":["cash","ignore"]}},"defaultUnitsOutput":{"type":"array","description":"What to do with instruments not listed in `instruments`.\nIf a single entry, the behavior is locked.\nIf multiple entries, the end user picks.\n`cash` — sell and transfer as cash.\n`units` — transfer as units.\n`ignore` — leave them.\n","minItems":1,"items":{"type":"string","enum":["cash","units","ignore"]}},"balanceOutput":{"type":"array","description":"What to do with the account's cash balance.\nIf a single entry, the behavior is locked.\nIf multiple entries, the end user picks.\n`cash` — transfer the cash balance.\n`ignore` — leave it.\n","minItems":1,"items":{"type":"string","enum":["cash","ignore"]}},"allowInstrumentSelection":{"type":"boolean","description":"Should the end user be able to add specific instruments to transfer?\n"},"instruments":{"type":"array","description":"Specific instruments to transfer from this account.\nIf omitted, all instruments are handled by `defaultUnitsOutput`.\n","items":{"type":"object","additionalProperties":false,"required":["id","unitType","outputType"],"if":{"properties":{"unitType":{"not":{"contains":{"const":"partial"}}}}},"then":{"properties":{"units":{"type":"null"}}},"properties":{"id":{"type":"string","description":"Instrument ID (ISIN + currency).","example":"SE0000810798SEK"},"unitType":{"type":"array","description":"If a single entry, the behavior is locked.\nIf multiple entries, the end user picks.\n`full` — all units of this instrument.\n`partial` — a specific number of units.\n","minItems":1,"items":{"type":"string","enum":["full","partial"]}},"outputType":{"type":"array","description":"If a single entry, the behavior is locked.\nIf multiple entries, the end user picks.\n`cash` — sell and transfer as cash.\n`units` — transfer as units.\n","minItems":1,"items":{"type":"string","enum":["cash","units"]}},"units":{"type":["number","null"],"description":"Number of units to transfer.\nOnly applicable when `unitType` includes `partial`.\nIf omitted, the end user enters the amount.\n"}}}}}}}}}}}}}}},"schemaResolvedErrors":[]},"children":[]}]},"headings":[{"value":"Transfer Configuration","id":"transfer-configuration","depth":1},{"value":"Key concepts","id":"key-concepts","depth":2},{"value":"Examples","id":"examples","depth":2},{"value":"Move a specific holding from unknown account number. The rest is left on account.","id":"move-a-specific-holding-from-unknown-account-number-the-rest-is-left-on-account","depth":3},{"value":"Move all holdings and balance from known account number","id":"move-all-holdings-and-balance-from-known-account-number","depth":3},{"value":"User selects all options","id":"user-selects-all-options","depth":3},{"value":"Schema","id":"schema","depth":2}],"frontmatter":{"seo":{"title":"Transfer Configuration"}},"lastModified":"2026-05-15T13:43:37.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/api-guide/create-account-transfers","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}