Account & data

Importing data into Verdly

Bring your data into Verdly from a JSON file, the same format Verdly exports, to restore a backup or seed a fresh account.

Last updated

Verdly imports data from a single JSON file. It’s the same format Verdly exports, so you can restore a backup, move between accounts, or seed a brand-new account from a file you’ve prepared yourself.

Supported format

Verdly accepts one format: a .json file shaped like a Verdly export. There’s no spreadsheet or CSV importer. If your data lives in a spreadsheet, convert it to the JSON structure below first. Any file that matches the shape is accepted, whether it came from Verdly or you wrote it by hand.

Import your data

  1. Sign in at app.verdly.io and open Settings → Import / Export.
  2. Under Import, choose your .json file.
  3. Select Import. Verdly validates the whole file before it changes anything, so a bad file never leaves you half-imported.
  4. Review the summary. Verdly tells you how many snapshots, holdings, categories and notes it added.

The file format

The file is an array of period entries. Each entry has a date, an optional note, and an array of categories. Each category has a name, a type of either asset or debt, and an array of holdings, where each holding has a name, a numeric value and an optional currency.

[
  {
    "date": "2024-01-20",
    "note": "Optional period note",
    "categories": [
      {
        "name": "Cash",
        "type": "asset",
        "holdings": [
          { "name": "Savings Account", "value": 5000, "currency": "GBP" }
        ]
      },
      {
        "name": "Credit Cards",
        "type": "debt",
        "holdings": [
          { "name": "Visa", "value": 1200, "currency": "GBP" }
        ]
      }
    ]
  }
]

The currency field

currency is an ISO code such as USD or EUR, and it’s optional. Leave it off a holding you already have and it keeps the currency it was created with; leave it off a new one and it’s created in your home currency. Verdly’s own exports always include it, so a file exported from one account keeps every foreign holding in its own currency when it’s imported into another.

A holding’s currency is fixed once it has a snapshot, so the same holding has to carry the same code in every period of the file, and it has to match the currency of a holding of that name you already have. Either clash is reported as a validation error rather than imported.

What happens on import

New categories and holdings are created as needed; existing ones are reused by name, so restoring a backup won’t leave you with duplicates. A closed holding is matched by name too, so an entry dated on or after its closure date is rejected rather than recorded somewhere you can’t reach it.

If validation fails

If any period in the file is malformed, the whole import is rejected and Verdly shows a per-entry breakdown of what went wrong. Common problems are a missing date, a holding without a numeric value, a category whose type isn’t asset or debt, an unsupported or inconsistent currency, or an entry dated after the holding it names was closed. Fix the file and import again.

Next steps