> For the complete documentation index, see [llms.txt](https://docs.s8money.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.s8money.com/fundamentals.md).

# Fundamentals

This section describes some core fundamentals of this app.

## How Data is Stored and Loaded

### Storing Data

S8Money stores data locally using [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) as you perform actions on the app. IndexedDB can get cleared depending on your browser settings and when you choose to manually clear your site data. It is therefore strongly recommended to save your data to a file at the end of a session.&#x20;

Use the `Save` button to save your data to a file. This button is accessible from all screens / pages.

<figure><img src="https://2388691622-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft0Apn8Hcd81Y1Gtai0Lq%2Fuploads%2FVHR0p4X2bw3Rg8OuQ5at%2Fimage.png?alt=media&amp;token=39c64a3d-8617-4f21-8f7d-6f7a3fc4b15a" alt=""><figcaption></figcaption></figure>

The data is saved in JSON file. The structure of the JSON file is publicly available. You are free to port the data into any format you wish.

{% hint style="success" %}
You can achieve data portability across machines by placing your data files on cloud storage such as Google Drive or One Drive.
{% endhint %}

### Loading Data&#x20;

When you login, you will be provided options to decide where to load data from. There are 4 options

<figure><img src="https://2388691622-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft0Apn8Hcd81Y1Gtai0Lq%2Fuploads%2F9mQ4Odq5SZeKrHgP7V5U%2Fimage.png?alt=media&amp;token=5710e8e7-2736-495e-bfae-e74a06299c80" alt=""><figcaption></figcaption></figure>

* **Set Up**: Use this only for initial setup of the app. This will clear any existing browser data. This does not impact data saved to a file.
* **File**: This button is enabled only if you load a file. This will load the file data. The timestamp of the file data is shown in the dialog.
* **Browser**: This button is enabled only if you have data in the browser. This will load the data stored in your browser's IndexedDB. The timestamp of the browser data is shown in the dialog.
* **Latest**: This button is enabled when you have data in your browser and file. This picks the later of the two as indicated by `(Most Recent)`.

## Market Data

The market data feature provides the the application with stocks/ETF data (including prices) and FX rates for supported currencies. Prices are updated on the backend at least on a daily basis but typically more frequently.

## Important Settings

By default S8 Money is configured for the following settings.

<table><thead><tr><th width="385">Property</th><th>Value</th></tr></thead><tbody><tr><td>Base Currency</td><td>CAD</td></tr><tr><td>Base Country</td><td>CA</td></tr></tbody></table>

You can change these to match your country and currency.

## How to Use

S8 Money was designed to mimic the real world financial world. Once you open an account you make transactions / trades against it. As such, the application relies on the user adding transactions and trades while automatically updating balances and holdings.

This requires users to account for every transaction / trade for balances and holdings to accurately reflect what the banks / brokerages have.

{% hint style="success" %}
This is the recommended approach for most users to avail benefits of all features such as categorized reporting and automatic balance updates.
{% endhint %}

The software does however provide for flexibility. You could choose to use the app to only add aggregate transactions at the account + label level on a monthly basis.  This can be useful to users who do not wish to maintain all details but still want categorized reporting.&#x20;

> For example, you could add a single transaction to account for all grocery purchases in the month against a particular credit card. The aggregation might be something your financial institution or credit card offers.

If you are only interested in categorized reporting for certain categories (labels), you could only track a subset of transactions such as big purchases or vacations.

{% hint style="warning" %}
If you don't account for every transaction though, you would need to update bank balances manually to keep them in sync.
{% endhint %}

And then there might be users who don't care about tracking transactions at all. Such users can simply [update balances](/accounts.md#quick-balance-update) to get a consolidated view.

For equity investments you can't just create a holding though. You would need to add a trade. You could however update a single trade with new quantities and cost basis should you wish.&#x20;

{% hint style="info" %}
Given most people make far fewer trades than transactions it is strongly recommended to add every trade except possibly for systematic investments.
{% endhint %}

### Installing as an App

Some browsers such as Chrome and Edge let you install S8 Money as an app. This is a very convenient way to use it.

<figure><img src="https://2388691622-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft0Apn8Hcd81Y1Gtai0Lq%2Fuploads%2FjQx4sMspVMMcOjt7IjO6%2Fimage.png?alt=media&amp;token=64f8bc41-1222-4b21-8041-27e01fcfe627" alt=""><figcaption></figcaption></figure>
