{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/class/apis/partner/loaded-files/sidebars.yaml","current-catalog-info":"current-catalog-info-/products/class/apis/partner/loaded-files/loaded-files"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Loaded Files"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"loaded-files","__idx":0},"children":["Loaded Files"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Load transactions into Class in bulk, from your own system."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your system already holds transaction data — bank statements, contract notes, income, corporate actions — this is how you get it into Class. You build a file of transactions, submit it in one request, and poll for the result. A single file can carry up to 5,000 transactions, spanning as many funds as you need."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["It is the programmatic equivalent of the Class Excel Transaction Loader. Files submitted here appear in Browse Loaded Files on the Class application."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-you-can-load","__idx":1},"children":["What you can load"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Interface code"},"children":["Interface code"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Transactions"},"children":["Transactions"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["StagedGenericCash"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Bank statement lines, expenses and custom-holding transactions"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["StagedGenericStockMovement"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Acquisitions, disposals, in-specie transfers, capital calls and returns"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["StagedGenericIncome"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Dividends, distributions, interest and rebates"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["StagedGenericCorporateAction"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Buybacks, spin-offs, splits, consolidations, takeovers and mergers"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["StagedGenericTermDeposit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Term deposit acquisitions, redemptions and bank fees"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["StagedGenericSecurityIssue"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unit and security prices"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["One file carries one interface code. Within that file the transactions may span many funds, many brands and many event types."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-a-submission-is-put-together","__idx":2},"children":["How a submission is put together"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A submission has two layers."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["data file"]}," holds the transactions. It is an ordinary JSON document — an interface code, and an array of items — but you never send it on its own. It travels Base64-encoded inside the envelope."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"InterfaceCode\": \"StagedGenericCash\",\n  \"TransformedItems\": [\n    {\n      \"SourceTransactionId\": \"850004\",\n      \"HoldingAccount\": {\n        \"Code\": \"CBA-OPERATING\",\n        \"FundCode\": \"SMF001\",\n        \"BrandCode\": \"MYBRAND\",\n        \"EventTypes\": [\n          {\n            \"EventTypeName\": \"BankStatementLineItem\"\n          }\n        ]\n      },\n      \"TransactionDate\": \"2026-07-01\",\n      \"DebitCreditIndicator\": \"C\",\n      \"TransactionAmount\": 1500.0,\n      \"Description\": \"Member contribution\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["envelope"]}," is what you POST. It carries a label for the submission, the interface code again, and the encoded data file in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Payload"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"Request\": {\n    \"RequestId\": \"June bank statements\",\n    \"InterfaceCode\": \"StagedGenericCash\"\n  },\n  \"Payload\": \"eyJJbnRlcmZhY2VDb2RlIjoiU3RhZ2VkR2VuZXJpY0Nhc2gi...\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["InterfaceCode"]}," is the one thing that appears in both, and the two must match or the submission is rejected with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["STAGING_INTERFACE_CODE_MISMATCH"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Note that the fund and the brand belong to each transaction's holding account rather than to the file. That is what allows a single submission to span several funds."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"which-fund-a-file-belongs-to","__idx":3},"children":["Which fund a file belongs to"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every operation exists at two scopes."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["At ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["business scope"]}," a file may carry transactions for any fund in the business, and each item names its own ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FundCode"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["At ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["fund scope"]}," the fund comes from the URL, so ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FundCode"]}," may be omitted from the items. If you do supply it, it must match the fund in the route, or the submission is rejected with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["STAGING_FUND_ROUTE_MISMATCH"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Market price files are the exception. They may only be submitted at business scope, and no item may carry ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BrandCode"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-happens-after-you-submit","__idx":4},"children":["What happens after you submit"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Submitting does not load the transactions. It hands Class a file to work through, and returns a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FileId"]}," straight away. Processing happens afterwards, and you poll for the outcome."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/class/apis/partner/loaded-files/submitting-and-polling"},"children":["Submitting and polling"]}," covers the full round trip, including how to tell success from failure and what to do when individual transactions fail."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"where-to-go-next","__idx":5},"children":["Where to go next"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/class/apis/partner/loaded-files/structure"},"children":["Structure and encoding"]}," — the shared rules and the Base64 step"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/class/apis/partner/loaded-files/data-files"},"children":["Data files"]}," — fields and worked examples for each interface code"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/class/apis/partner/loaded-files/submitting-and-polling"},"children":["Submitting and polling"]}," — the request lifecycle"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/class/apis/partner/loaded-files/loaded-files"},"children":["API reference"]}," — every operation, parameter and error code"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Authentication, credentials and environments are covered in Resources."]}]},"headings":[{"value":"Loaded Files","id":"loaded-files","depth":1},{"value":"What you can load","id":"what-you-can-load","depth":2},{"value":"How a submission is put together","id":"how-a-submission-is-put-together","depth":2},{"value":"Which fund a file belongs to","id":"which-fund-a-file-belongs-to","depth":2},{"value":"What happens after you submit","id":"what-happens-after-you-submit","depth":2},{"value":"Where to go next","id":"where-to-go-next","depth":2}],"frontmatter":{"seo":{"title":"Loaded Files"}},"lastModified":"2026-10-26T06:25:05.598Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/class/apis/partner/loaded-files","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}