Skip to main content

Data upload: UI

Manual data upload and update via Salv platform webpage using CSV files

Updated over 5 months ago

Uploading data: how to?

Once your CSV file is ready, uploading is a breeze. Click Data upload on the left menu bar, and look for the section that says “Drag the data file to this area to upload” on the Data upload page that appears.

First upload the person's data before you can upload details about their transactions. You can't upload transactions for a person who doesn't exist in the system.

⚖️ Maximum file size you can upload is 100MB.

Just drop the file into the area highlighted in orange above, or click there to select a file from your computer.

❗️ The file you use to upload the data must have a .csv extension in its filename.

Then, select the appropriate Data type contained in the file, as well as the relevant value separator. You will be able to see a small window of first 10 rows of data as a preview.

Once you click Upload, the newly uploaded CSV file appears in the list of upload history, together with the date and status Queued.

Now Salv's system will process the file. Depending on the size of the file, this can take a couple of seconds or a little longer. To see whether the system was able to read the contents of the file successfully, you'll need to refresh the page.

CSV data upload is composed of validation and upload phases. You can read more about it in the API documentation.

  • If the upload was successful, the status column will now read as Completed, and you can now access the new data on Salv.

  • If there was a problem with the upload, the status column will read as Failed (look at the screenshot above). By clicking on View, you’ll be able to see some details why the upload failed (see below screenshot).

👯 While the system is processing the file, you can already upload the next file — but only one! The system can process a maximum of 2 files with status Queued at any one time.

Different data types

  • Person - you can read more about it here

  • Transaction - you can read more about it here

  • Transaction update - it is possible to update Transaction's status and add new attributes via UI - please read more below

  • Custom list record and Custom list record relation - you can bulk-add Custom list records through UI using CSV files - please read more below

Transaction update

1. CSV format

The table must be in CSV format and use UTF-8 encoding.

The first row of the file must be a header row with the column names, followed by one or more rows of the actual data. You can prepare the CSV with a spreadsheet editor, text editor, or export it from your internal system if it supports exporting CSV.


2. All data fields (ie column names) must be in snake_case or camelCase.

Choose either snake_case or camelCase and stick with it for all data fields.

An example of snake_case across all data fields:


3. Required and optional CSV columns.

  • id - required. Unique transaction number of a transaction already uploaded to Salv. Please note that id is case-sensitive.

  • status - optional. Updates the transaction status (“completed”, “cancelled”, “pending”, and any others as needed). If the column is skipped or the data is empty, the status won’t be updated.

  • all other columns - optional. Will be treated as data fields to be added to transactions. Existing fields will be ignored - NOT updated, i.e. you can only add new data fields for existing transactions.

Custom list record and Custom list record relation

Data upload type - Custom list record

1. The table must be in standard CSV format and use UTF-8 encoding

The first row of the file must be a header row with the column names, followed by one or more rows of the actual data. You can prepare the CSV with a spreadsheet editor, text editor, or export it from your internal system if it supports exporting CSV.


2. All records in the document must correspond to the same data type

This means the entire document has data for type "Custom list record", i.e. it is a Custom list records table.

Currently we only allow one list’s records to be uploaded per one upload event, i.e. all rows must have the same list_code value.


3. All data fields (i.e. column names) must be in snake_case or camelCase

Choose either snake_case or camelCase and stick with it for all data fields.


4. Make sure field “list_code” is present for every record/row

list_code - a unique code that each Custom list has. The list code is defined during the initial setup of a Custom list.


5. Each row must correspond to one list record

Each row must correspond to one list record.


6. Data validation

Two factors are being validated when uploading custom list records:

  • Is the required fields present (list_code)?

  • Do the fields specified in the schema match the given data types (For example, schema specified that dob is of type number but the uploaded file has dob -> "ABC").


7. Updating list records

There is no possibility to update list records using CSV data upload. With each CSV file upload new records are added to the list which is indicated in the file (list_code).


8. Example


Data upload type - Custom list record relation

You can also upload Records' Complex fields via csv by selecting Custom list record relation in data upload. What fields fall under the Complex fields?

  • Multi field (e.g bank_accounts: [123, 456])

  • Object field (e.g address: {city: 'Paris', street: 'Bonjour'})

  • Multi Object field (e.g shareholders: [{name:Bob,account:123},{name:Rob,account:456}])

The mandatory columns are:

  • list_code (the code of the Custom list),

  • external_id (the external id of the Record),

  • relation_type (the name of the Complex field).

An example:

Did this answer your question?