account-types.mdx Documentation

Official TypeScript developer resources and documentation for we-promise/account-types.mdx. Verified technical context for AI.

0 stars TypeScript TypeScript 1 file Β· ~16,339 tokens
RAW Doc

1. Project Overview & Quickstart (we-promise/account-types.mdx)

account-types.mdx

Open-source repository we-promise/account-types.mdx

Repository Details

Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.

2. Official Technical Reference & Guides (we-promise/docs)

File: README.md

Sure Docs

Still #needsupdate!

This is the starter kit to get your docs deployed and ready to customize.

Click the green Use this template button at the top of this repo to copy the Mintlify starter kit. The starter kit contains examples with

  • Guide pages
  • Navigation
  • Customizations
  • API reference pages
  • Use of popular components

Follow the full quickstart guide

Development

Install the Mintlify CLI to preview your documentation changes locally. To install, use the following command:

text
npm i mint

Run the following command at the root of your documentation, where your docs.json is located:

text
mint dev

View your local preview at http://localhost:3000.

Publishing changes

Install our GitHub app from your dashboard to propagate changes from your repo to your deployment. Changes are deployed to production automatically after pushing to the default branch.

Need help?

Troubleshooting

  • If your dev environment isn't running: Run mint update to ensure you have the most recent version of the CLI.
  • If a page loads as a 404: Make sure you are running in a folder with a valid docs.json.

Resources


File: guides/knowledge-base/faq.mdx


title: "FAQ"

Transfers and Currencies

Yes, you can make transfers between accounts with different currencies. The system automatically applies the appropriate exchange rate for the transfer date:
text
- The outgoing transaction uses the source account's currency and amount
- The incoming transaction is converted to the destination account's currency using the latest available rate
- If no exchange rate is found, it falls back to a 1:1 rate, which may result in incorrect amounts until rates are synced
- Foreign exchange metadata is also recorded for auditing purposes

For best results, make sure your exchange rates are up to date to avoid conversion errors.

**Sources:**
- [Transfer Creator Implementation](https://github.com/we-promise/sure/blob/8e36c8e7368cef008133970404bcaabd6cde3df9/app/models/transfer/creator.rb#L1-L103)
- [Issue #124](https://github.com/we-promise/sure/issues/124)

File: guides/knowledge-base/troubleshooting.mdx


title: "Troubleshooting"

When Rules Are Triggered

Rules run automatically during family syncs or can be triggered manually. Understanding when rules execute helps troubleshoot categorization issues.

Rules can be manually triggered in the following ways:
text
- Clicking "Re-apply" on an individual rule in `/settings/rules`
- Clicking "Apply All" in `/settings/rules`
- Running the rake task: `bin/rails rules:apply_all[family_id]`
Rules with `active: true` run automatically when a family sync occurs (`Family::Syncer.perform_sync`):
text
**Scheduled syncs:**
- `SyncAllJob` - runs daily at 2:22 AM for all families
- `SyncHourlyJob` - runs every hour (for items that opt-in to hourly syncing)

**Triggered syncs:**
- Provider webhooks (Plaid, etc.) - triggers sync which eventually propagates to family
- Manual sync button on accounts page
- After CSV imports complete (`Import` model calls `family.sync_later`)
Rules are **not** triggered in these scenarios:
text
- **Manual transaction creation** - Only triggers an Account sync (not Family sync)
- **Manual transaction editing** - Same as above, only Account sync runs
- **Inactive rules** - Rules with `active: false` never run automatically, only via manual "Re-apply"
Failures during async rule runs (including auto-categorize provider failures) are written to the debug log. To view them:
text
1. Go to **Settings** β†’ **Debug**
2. Look for entries with category **`rules`**

Each failed run includes the error message and the rule that triggered it.

Rule run failures not visible in the UI

When rules run asynchronously (during a sync or via a background job), failures are not surfaced in the main UI. If auto-categorization or merchant detection appears to stop working silently, check the debug log.

Failures from background rule runs β€” including auto-categorize provider errors β€” are written to the debug log. To view them:
text
1. Go to **Settings β†’ Debug**
2. Filter by the relevant category (e.g., `rules` or `auto_categorize`)

A request that was enqueued but has no matching start entry in the log means the job never reached a worker.

Category Rule Popup Behavior

When a user selects a category for a transaction, a popup may appear to create an automatic categorization rule. This popup is intentionally gated by several conditions:

The popup only shows when **all** of these conditions are met:
text
1. User has not disabled rule prompts (`rule_prompts_disabled` is false)
2. User hasn't dismissed the popup in the last **24 hours**
3. The transaction category actually changed
4. No existing rule already sets this category for similar transactions
5. The transaction has a category assigned
Check these common reasons:
text
- **Recently dismissed**: Wait 24 hours after dismissing the popup
- **Rule already exists**: A matching rule may already be in place
- **Prompts disabled**: Check if `rule_prompts_disabled` is enabled for the user

Sure Doesn’t Work Over HTTPS

If Sure behaves incorrectly or fails when accessed over HTTPS, it’s usually due to missing SSL-related configuration between Nginx and Rails.

text
Sure relies on correct protocol headers to determine whether a request is secure.  
When HTTPS is terminated at Nginx but not properly forwarded to the app, Rails may treat requests as HTTP.
text
Apply the following configuration changes:

1. **Nginx**

   Ensure HTTPS is forwarded to the upstream app:

   ```nginx
   proxy_set_header X-Forwarded-Proto https;
   ```

2. **docker-compose.yml**

   In the `x-rails-env: &rails_env` section, set:

   ```yaml
   RAILS_ASSUME_SSL: "true"
   ```

   This tells Rails to treat all requests as HTTPS.

Some pages break over HTTPS

Sure uses WebSockets for certain pages. If some pages fail to render correctly or break entirely, this is often caused by missing SSL or upgrade headers in your reverse proxy configuration.

text
You may see pages partially load, fail completely, or errors similar to:

```text
Failed to upgrade to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: close, HTTP_UPGRADE: )
```

This indicates that the WebSocket upgrade request is not being forwarded correctly.
text
Ensure your Nginx configuration includes the required WebSocket headers:

```nginx
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
```

These headers allow Nginx to properly handle WebSocket upgrade requests over HTTPS.

Budget totals do not update after deleting transactions

If a budget still shows spending from a transaction that was already deleted, the most likely cause is a stale aggregate cache. Sure hard-deletes the transaction entry, so the deleted transaction is gone; the stale value can come from cached budget or income totals that were not invalidated by deleting an older entry.

text
Budget totals are derived from entry aggregation queries. Older versions of Sure used the most recent entry update timestamp as part of the cache key, which meant deleting an older transaction could leave the cache key unchanged.
text
The entry aggregate cache version now includes both:

- The current entry count
- The newest entry `updated_at` timestamp

Because the count changes when an entry is deleted, budget and income aggregate caches are invalidated even when the deleted transaction was not the most recently updated entry.
text
Confirm the installed version includes the cache invalidation fix for `Family#entries_cache_version`, then re-check the affected budget after the next request or cache refresh. The regression test is:

```bash
bin/rails test test/models/family_test.rb
```

Chat fails immediately on a fresh family with a strict OpenAI-compatible provider

Some strict OpenAI-compatible providers (not OpenAI itself) reject chat requests with a schema validation error when a family has no accounts, categories, merchants, tags, or tickers yet.

Rule runs fail silently

If auto-categorization or merchant detection rules appear to do nothing, the background job may have failed without surfacing an error in the UI.

text
Async rule run failures are now logged to the debug log. Go to **Settings β†’ Debug** and look for entries from the `rule_run` category. Each failed run includes the error class, message, and the rule that triggered it.

You can also check worker logs directly:

```bash
docker compose logs worker
```
text
Common causes include:

- **LLM provider errors** β€” The AI provider returned an error or timed out. Check your `OPENAI_ACCESS_TOKEN` and provider connectivity.
- **Auto-categorize provider failures** β€” The provider returned an unexpected response format. These are now propagated and logged rather than silently swallowed.
- **Worker not running** β€” Rules run in the background via Sidekiq. Verify the `worker` container is healthy.

App crashes for a family with an invalid timezone

If a family's timezone setting contains an unrecognized IANA zone name (for example, after a tzdata rename like Europe/Kiev β†’ Europe/Kyiv), Sure now falls back to the application default timezone instead of crashing.

Chat fails immediately on a new account with a strict OpenAI-compatible provider

Some strict OpenAI-compatible providers (not OpenAI itself) reject chat requests with a schema validation error when a family has no tags, merchants, or categories yet. This happens because the assistant's tool schemas include enum fields built from family data β€” an empty family produces enum: [], which is invalid JSON Schema.

text
Sure builds tool schemas for the assistant using family data (account names, categories, merchants, tags, tickers). A family with none of this data produces `enum: []` for those fields, which is invalid JSON Schema. OpenAI tolerates it, but strict providers reject the entire request before the model runs.
`Family#timezone` is a free-text field. If the stored value becomes stale β€” due to a tzdata rename, a database restore from an older backup, or a direct database edit β€” the app previously raised an `ArgumentError` on every request for that family, including the login page.
text
Sure validates the timezone value against `ActiveSupport::TimeZone` before using it. If the value is unrecognized, the app falls back to the default timezone and logs a warning to **Settings β†’ Debug** under the `timezone` category. The log is debounced to once per day per family so it does not flood the debug log.

To fix the root cause, update the family's timezone to a valid IANA zone name from **Settings β†’ Profile**.
Sure builds tool schemas dynamically from your family's data (account names, categories, merchants, tags, tickers). When none of that data exists yet, the schema contains `enum: []`, which is invalid JSON Schema. OpenAI tolerates it, but strict OpenAI-compatible providers reject the entire request before the model runs.
text
Empty enum arrays are now pruned from tool schemas before the request is sent, falling back to a plain `string` type. This fix applies to both chat tool definitions and the `/mcp` endpoint's `tools/list`.

If you are on an older version and cannot upgrade, add at least one account, category, or tag to the family β€” this populates the enum and avoids the empty-array case.

Chat shows "assistant not available" before the model finishes

Self-hosted users running a local model (Ollama, LM Studio, etc.) may see the chat fail with "assistant not available" even though the model is still generating a reply and tokens are being billed.

text
Sure uses a whole-turn watchdog (`AI_RESPONSE_TIMEOUT`, default 90 seconds) that starts when the message is queued. Custom OpenAI-compatible providers use a synchronous code path β€” nothing renders until the full reply is generated β€” so the watchdog fires before the model finishes.

Tool-using turns make this worse: each tool call adds another full model round. The total time the watchdog must cover is:

```text
(1 + ASSISTANT_MAX_TOOL_CALL_ITERATIONS) Γ— OPENAI_REQUEST_TIMEOUT
  + tool execution time + queue wait
```

With the defaults (`ASSISTANT_MAX_TOOL_CALL_ITERATIONS=5`, `OPENAI_REQUEST_TIMEOUT=60`), a worst-case turn can take up to 360 seconds of model time β€” far beyond the 90-second default.
text
The most effective approach is to lower `ASSISTANT_MAX_TOOL_CALL_ITERATIONS` (reducing the worst-case bound) and then size `AI_RESPONSE_TIMEOUT` using the formula above.

For a local Ollama setup:

```bash
OPENAI_REQUEST_TIMEOUT=300
ASSISTANT_MAX_TOOL_CALL_ITERATIONS=2
AI_RESPONSE_TIMEOUT=1200
```

You can also set **Chat Response Timeout** from **Settings β†’ Self-Hosting β†’ AI Provider** in the UI. The environment variable takes precedence.

See [Chat response timeout](/llm-support#chat-response-timeout) for full sizing guidance.

Why is Sure not running auto-categorization and merchant detection on the same transactions again?

Sure caches AI-generated results to avoid redundant API calls and costs. Once a transaction has been processed by AI rules, it won't be re-processed unless you explicitly reset the AI cache.

text
When AI rules process transactions, Sure stores:

- **Enrichment records** - Which attributes were set by AI (category, merchant, etc.)
- **Attribute locks** - Prevents rules from re-processing already-handled transactions

This caching ensures:

- Transactions aren't sent to the LLM repeatedly
- API costs are minimized
- Processing is faster on subsequent rule runs
text
To have AI rules re-process transactions, you need to reset the AI cache:

1. Go to **Settings** β†’ **Rules**
2. Click the menu button (three dots)
3. Select **Reset AI cache**
4. Confirm the action

After resetting, the next time rules run (either manually or during a sync), AI will re-process all transactions.

**Note:** This will incur API costs if using a cloud provider.

The reset runs in the background. You can track its progress and see how many AI cache entries were removed in **Settings β†’ Debug**, filtered by the `ai_cache_reset` category. Each run logs when it starts, how many entries were removed per scope, and any records that could not be cleared.
text
Common scenarios for resetting the cache:

- **Switching LLM models** - Different models may produce better categorizations
- **After system updates** - New versions may have improved prompts
- **Fixing miscategorizations** - When AI made systematic errors
- **Testing** - During development or evaluation of AI features

The AI cache is automatically cleared when you change the OpenAI model setting.
text
The reset runs as a background job. You can confirm it completed β€” and see a breakdown of how many AI cache entries were removed β€” in the debug log:

1. Go to **Settings** β†’ **Debug**
2. Filter by category **`ai_cache_reset`**

You will see:
- An **info** entry when the reset is enqueued from the rules page
- An **info** entry when the job starts on a worker
- A **completion** entry with the number of enrichments deleted, broken down by scope
- **warn** entries for any individual records that could not be cleared
- An **error** entry if the job could not be enqueued at all

If you see the enqueue entry but no start entry, the job never reached a worker β€” check that your worker container is running.

File: guides/key-concepts/account-types.mdx


title: All Account Types Sure Offers

All Account Types Sure Offers

Sure supports a comprehensive range of account types to track your complete financial picture. This page provides a complete reference of all available account types and their subtypes.

Overview: Assets vs. Liabilities

Classification Types Description
Assets Cash, Investment, Crypto, Property, Vehicle, Other Asset Things you own
Liabilities Credit Card, Loan, Other Liability Things you owe

Asset Accounts

Cash (Depository)

Liquid funds in bank accounts.

Subtype Short Name Description
checking Checking Everyday spending account
savings Savings Interest-bearing savings
hsa HSA Health Savings Account
cd CD Certificate of Deposit
money_market MM Money Market account

Investment

Investment accounts hold securities and have tax treatment based on account type.

United States

Subtype Short Name Full Name Tax Treatment
brokerage Brokerage Brokerage Taxable
401k 401(k) 401(k) Tax-Deferred
roth_401k Roth 401(k) Roth 401(k) Tax-Exempt
403b 403(b) 403(b) Tax-Deferred
457b 457(b) 457(b) Tax-Deferred
tsp TSP Thrift Savings Plan Tax-Deferred
ira IRA Traditional IRA Tax-Deferred
roth_ira Roth IRA Roth IRA Tax-Exempt
sep_ira SEP IRA SEP IRA Tax-Deferred
simple_ira SIMPLE IRA SIMPLE IRA Tax-Deferred
529_plan 529 Plan 529 Education Savings Plan Tax-Advantaged
hsa HSA Health Savings Account Tax-Advantaged
ugma UGMA UGMA Custodial Account Taxable
utma UTMA UTMA Custodial Account Taxable

United Kingdom

Subtype Short Name Full Name Tax Treatment
isa ISA Individual Savings Account Tax-Exempt
lisa LISA Lifetime ISA Tax-Exempt
sipp SIPP Self-Invested Personal Pension Tax-Deferred
workplace_pension_uk Pension Workplace Pension Tax-Deferred

Canada

Subtype Short Name Full Name Tax Treatment
rrsp RRSP Registered Retirement Savings Plan Tax-Deferred
tfsa TFSA Tax-Free Savings Account Tax-Exempt
resp RESP Registered Education Savings Plan Tax-Advantaged
lira LIRA Locked-In Retirement Account Tax-Deferred
rrif RRIF Registered Retirement Income Fund Tax-Deferred

Australia

Subtype Short Name Full Name Tax Treatment
super Super Superannuation Tax-Deferred
smsf SMSF Self-Managed Super Fund Tax-Deferred

Europe

Subtype Short Name Full Name Tax Treatment
pea PEA Plan d'Epargne en Actions Tax-Advantaged
pillar_3a Pillar 3a Private Pension (Pillar 3a) Tax-Deferred
riester Riester Riester-Rente Tax-Deferred

Generic (Available Everywhere)

Subtype Short Name Full Name Tax Treatment
pension Pension Pension Tax-Deferred
retirement Retirement Retirement Account Tax-Deferred
mutual_fund Mutual Fund Mutual Fund Taxable
angel Angel Angel Investment Taxable
trust Trust Trust Taxable
other Other Other Investment Taxable

Crypto

Cryptocurrency holdings.

Subtype Short Name Full Name Manual Trades
wallet Wallet Crypto Wallet No
exchange Exchange Crypto Exchange Yes

[!NOTE]
Only exchange accounts support manual trade entry. Wallet accounts are sync-only.

Property

Real estate assets.

Subtype Short Name Full Name
single_family_home Single Family Home Single Family Home
multi_family_home Multi-Family Home Multi-Family Home
condominium Condo Condominium
townhouse Townhouse Townhouse
investment_property Investment Property Investment Property
second_home Second Home Second Home

Additional fields:

  • Address
  • Area (square feet or square meters)
  • Year built

Vehicle

Cars, trucks, and other vehicles.

Additional fields:

  • Make
  • Model
  • Year
  • Mileage (miles or kilometers)

Other Asset

Anything of value that doesn't fit other categories:

  • Collectibles (art, antiques, coins)
  • Jewelry and watches
  • Equipment
  • Other valuables

Liability Accounts

Credit Card

Track credit card balances and spending.

Additional fields:

Field Description
APR Annual Percentage Rate
Available Credit Remaining credit limit
Minimum Payment Minimum amount due
Annual Fee Yearly card fee

Loan

Track mortgages, auto loans, student loans, and other installment debt.

Subtype Short Name Full Name
mortgage Mortgage Mortgage
student Student Student Loan
auto Auto Auto Loan
other Other Other Loan

Additional fields:

Field Description
Interest Rate Annual interest rate
Rate Type Fixed or variable
Term (months) Loan duration
Monthly Payment Calculated from loan details (fixed-rate only)

[!TIP]
For fixed-rate loans, Sure automatically calculates the monthly payment based on your original balance, interest rate, and term.

Other Liability

Debts that don't fit the above categories:

  • Personal loans from friends/family
  • Medical bills
  • IOUs
  • Tax obligations

Tax Treatment Explained

Investment accounts have different tax implications:

Treatment Description When Taxes Apply
Taxable Normal taxation Gains taxed when realized
Tax-Deferred Taxes postponed Taxes paid on withdrawal
Tax-Exempt No taxes on gains Qualified withdrawals are tax-free
Tax-Advantaged Special benefits Varies by account type and use

[!IMPORTANT]
Tax treatment in Sure is for informational and organizational purposes. Consult a tax professional for tax advice specific to your situation.

Choosing the Right Account Type

Your Situation Recommended Account Type
Bank checking/savings Cash (Depository)
Brokerage account Investment
401(k), IRA, pension Investment (select appropriate subtype)
Bitcoin, Ethereum holdings Crypto
Your home Property
Your car Vehicle
Credit card Credit Card
Mortgage Loan (mortgage)
Student loans Loan (student)
Car loan Loan (auto)
Money you owe someone Other Liability
Collectibles, jewelry Other Asset

Account Sharing and Permissions

Sure supports sharing accounts with other family members, allowing collaborative financial management while maintaining appropriate access controls.

How Account Sharing Works

Accounts can be shared with other members of your family with different permission levels:

Permission Levels:

Permission Can View Can Edit Can Delete
View Only βœ… Yes ❌ No ❌ No
Edit βœ… Yes βœ… Yes ❌ No
Full Access βœ… Yes βœ… Yes βœ… Yes

Sharing an Account

To share an account with family members:

  1. Navigate to the account you want to share
  2. Open the account settings or details page
  3. Find the "Sharing" or "Permissions" section
  4. Click Share Account or Manage Access
  5. Select the family member you want to share with
  6. Choose their permission level
  7. Click Save or Share

Managing Shared Accounts

As an account owner:

  • You maintain full control over accounts you create
  • You can modify or revoke sharing permissions at any time
  • You can see who has access to each account

As a shared user:

  • Shared accounts appear in your account list
  • Your available actions depend on your permission level
  • You can see who owns the account

Account Scoping

Account sharing affects how data appears throughout Sure:

Dashboard and reports:

  • Your dashboard shows all accounts you own plus accounts shared with you
  • Net worth calculations include all accessible accounts
  • Reports and budgets can be filtered by account ownership

Transactions and activity:

  • You can view transactions for any account you have access to
  • Edit permissions allow you to categorize, tag, and modify transactions
  • Full access allows you to delete transactions and manage account settings

Provider connections:

  • Only account owners and users with full access can manage provider connections
  • Synced data is visible to all users with access to the account

Family-Level Features

Some features operate at the family level and are accessible to all family members:

  • Recurring transactions: Scoped to accounts you have access to
  • Merchants: Shared across the family for consistent categorization
  • Categories and tags: Available to all family members
  • Rules: Can be created by any family member and apply to their accessible accounts

[!IMPORTANT]
Account sharing is designed for trusted family members. Users with edit or full access permissions can modify financial data, so only share accounts with people you trust.

Privacy and Security

What's shared:

  • Account balances and transaction history
  • Holdings and investment details (for investment accounts)
  • Account metadata (name, type, institution)

What's not shared:

  • Your login credentials
  • Provider API keys (unless explicitly configured)
  • Personal settings and preferences

Admin controls:

  • Family admins can manage provider connections for the entire family
  • Only admins can configure third-party provider integrations
  • Account owners always retain control over their own accounts

File: guides/key-concepts/debt-accounts.mdx


title: How Debt Accounts Work

How Debt Accounts Work

Debt accounts (also called liability accounts) track money you owe to others. This includes credit cards, loans, and any other obligations.

Why Debt Math Seems "Backwards"

If you're used to thinking about asset accounts, debt accounts can feel counterintuitive at first. Here's the key difference:

Balance Type What It Means
Positive balance You owe money
Negative balance The lender owes you money (overpayment, refund)

And transactions work in the opposite direction from assets:

Action Asset Account Debt Account
Spend money Balance decreases Balance increases (more debt)
Receive money Balance increases Balance decreases (less debt)

[!TIP]
Think of a debt balance as "Amount Owed" rather than "money I have." A higher number means you owe more, not that you have more.

Credit Card Example

Let's walk through a typical credit card scenario:

Action Balance Change New Balance What It Means
Starting balance β€” $500 You owe $500
Buy groceries (+$80) +$80 $580 You now owe $580
Gas purchase (+$45) +$45 $625 You now owe $625
Make payment (-$300) -$300 $325 You now owe $325

Notice how spending increases the balance (you owe more) and payments decrease it (you owe less).

Overpayment Scenario

What happens if you pay more than you owe?

Action Balance Change New Balance What It Means
Starting balance β€” $100 You owe $100
Make payment (-$150) -$150 -$50 Card company owes you $50
Buy coffee (+$5) +$5 -$45 Card company owes you $45

A negative balance on a credit card means you've overpaidβ€”the credit card company owes you money. This might happen from:

  • Overpayment
  • Refunds for returned purchases
  • Statement credits or rewards

Types of Debt Accounts

Sure supports three types of liability accounts:

Credit Card

Track your credit card balances and spending. Credit card accounts can include:

Field Description
APR Annual percentage rate (interest rate)
Available Credit Remaining credit you can use
Minimum Payment Minimum amount due
Annual Fee Yearly card fee

Loan

Track mortgages, auto loans, student loans, and other installment debt.

Subtype Description
Mortgage Home loan
Student Student loan debt
Auto Car loan
Other Personal loans, etc.

Loan accounts support additional fields:

Field Description
Interest Rate Annual interest rate
Rate Type Fixed or variable rate
Term Loan duration (months)
Monthly Payment Calculated based on loan details

[!NOTE]
For fixed-rate loans, Sure can calculate your monthly payment automatically based on the original balance, interest rate, and term.

Other Liability

For debts that don't fit the above categories:

  • Personal loans from friends/family
  • Medical bills
  • IOUs
  • Tax obligations

How Debt Affects Net Worth

Liabilities reduce your net worth:

text
Net Worth = Total Assets - Total Liabilities

When you pay down debt, your net worth increases (even though your cash decreases). This is because the debt reduction outweighs the cash spentβ€”you're converting a liquid asset (cash) into reduced liability (less debt).

Example: Paying Off a Credit Card

Account Before Payment After $500 Payment
Checking (Asset) $2,000 $1,500
Credit Card (Liability) $500 $0
Net Worth $1,500 $1,500

Your net worth stays the same because you traded $500 of cash for $500 of debt reduction. But now you have no credit card debt!

Adding Debt Accounts

To add a debt account:

  1. Click + Add Account on your dashboard
  2. Select the liability type (Credit Card, Loan, or Other Liability)
  3. Enter your account details:
    • Account name
    • Current balance (the amount you owe)
    • For loans: interest rate, term, and rate type
  4. Click Create Account

[!IMPORTANT]
Make sure to select a liability account type (Credit Card, Loan, or Other Liability) when adding debt. If you accidentally create a Cash account for your credit card, the balance calculations will be incorrect.

Understanding Loan Payments

When you make a loan payment, the payment typically covers:

  1. Interest - Cost of borrowing
  2. Principal - Reducing the amount you owe

Sure tracks your loan balance, which represents the remaining principal. As you make payments, the balance decreases until the loan is paid off.

[!TIP]
To track loan payments accurately, create a transfer from your checking account to your loan account. This properly reflects the payment in both accounts.


File: guides/key-concepts/investment-accounts.mdx


title: Managing Investment Accounts

Managing Investment Accounts

Investment accounts in Sure go beyond simple balance tracking. They help you understand your portfolio through holdings, trades, cost basis tracking, and investment activity labels.

Understanding Holdings

A holding represents your position in a specific security. For example, if you own 50 shares of Apple stock, that's one holding.

Each holding tracks:

  • Security - What you own (stock, ETF, mutual fund, crypto)
  • Quantity - How many shares or units you hold
  • Price - Current market price per share
  • Amount - Total current value (quantity x price)
  • Cost Basis - What you originally paid

Recording Trades

Investment accounts support manual trade entry to track your buy and sell activity.

Trade Types

When recording a trade, you can specify:

  • Buy: Purchase of securities
  • Sell: Sale of securities
  • Dividend: Dividend income (recorded as a trade with qty: 0 and price: 0)
  • Interest: Interest income (recorded as a trade with qty: 0 and price: 0)

Recording Dividends and Interest

Dividends and interest are recorded as trades to maintain data integrity:

Dividends:

  • Require a security selection (the security that paid the dividend)
  • Recorded with qty: 0 and price: 0
  • Amount represents the dividend payment received

Interest:

  • Security selection is optional
  • If no security is selected, Sure creates a synthetic cash security for the account
  • Recorded with qty: 0 and price: 0
  • Amount represents the interest earned

This approach ensures all investment income is properly tracked while maintaining the requirement that trades reference a security.

Transaction Fees

Trades support an optional fee field to track transaction costs:

  • Fees are included in the total amount calculation: qty Γ— price + fee
  • Fees default to 0 if not specified
  • Useful for tracking brokerage commissions, exchange fees, or other trading costs

For example:

  • Buy 10 shares at $100/share with a $5 fee = $1,005 total
  • Sell 10 shares at $110/share with a $5 fee = $1,095 total (proceeds after fee)

To add a fee to a trade:

  1. Open the trade form (create or edit)
  2. Enter the fee amount in the fee field
  3. The total amount updates automatically to include the fee

Fees are automatically factored into your cost basis calculations and realized gains/losses.

Securities Types

Sure supports various security types:

Type Examples
Stocks Individual company shares (AAPL, GOOGL)
ETFs Exchange-traded funds (SPY, VTI)
Mutual Funds Pooled investment funds
Crypto Bitcoin, Ethereum, other cryptocurrencies
Bonds Fixed-income securities

Cost Basis Tracking

Cost basis is the original purchase price of your investments. It's essential for:

  • Calculating gains and losses
  • Understanding investment performance
  • Tax reporting

Cost Basis Sources

Sure tracks cost basis from three sources, in order of priority:

Priority Source Description
1 (Highest) Manual Values you enter directly
2 Calculated Computed from your buy trades
3 (Lowest) Provider Imported from your financial institution

This hierarchy ensures your manual entries always take precedence, calculated values override provider data, and provider data is used when nothing else is available.

Setting Cost Basis Manually

You can set cost basis in two ways:

From the Holdings List:

  1. Navigate to your investment account
  2. Find the holding in your portfolio
  3. Click the pencil icon next to the average cost
  4. Enter either:
    • Total cost basis: The total amount you paid for all shares
    • Per-share cost: The average price per share
  5. Click Save

From the Holding Drawer:

  1. Click on a holding to open its detail drawer
  2. In the Overview section, click the pencil icon next to "Average Cost"
  3. Enter the cost basis (total or per-share)
  4. Click Save

[!TIP]
The cost basis editor provides real-time conversion between total and per-share values. Enter whichever format you have available, and Sure calculates the other automatically.

Lock Protection

When you manually set a cost basis, Sure automatically locks it to prevent automatic updates from overwriting your value. You'll see a lock icon indicating the value is protected.

This ensures your manual entries remain intact during account syncs.

Unlocking Cost Basis

If you want Sure to recalculate cost basis from your trades:

  1. Open the holding drawer
  2. Scroll to the Settings section
  3. Find "Cost basis locked"
  4. Click Unlock

After unlocking:

  • The lock icon disappears
  • Future syncs can update the cost basis
  • Calculated values (from trades) will replace the manual value

Recording Trades

Investment accounts support recording various types of trades to track your portfolio activity.

Trade Types

Type Description Security Required
Buy Purchase of securities Yes
Sell Sale of securities Yes
Dividend Dividend payments received Yes
Interest Interest earned on cash or securities No (optional)

Recording Dividends and Interest

Dividends and interest are recorded as trades with zero quantity and zero price, allowing them to be associated with specific securities while maintaining data integrity.

Dividends:

  • Require a security selection (the stock/fund paying the dividend)
  • Recorded as a trade with qty: 0 and price: 0
  • Amount represents the dividend payment received

Interest:

  • Security selection is optional
  • When no security is selected, Sure creates a synthetic cash security for the account
  • Recorded as a trade with qty: 0 and price: 0
  • Amount represents the interest earned

To record a dividend or interest payment:

  1. Navigate to your investment account
  2. Click + New Trade
  3. Select Dividend or Interest from the type dropdown
  4. For dividends: Select the security that paid the dividend
  5. For interest: Optionally select a security, or leave blank for cash interest
  6. Enter the amount received
  7. Set the date
  8. Click Save

[!NOTE]
Dividends require a security selection, while interest can be recorded without one. When no security is selected for interest, Sure automatically creates a per-account synthetic cash security (kind: cash, offline: true) to maintain data integrity.

Trade Fees

All trades support an optional fee field to track transaction costs:

  • Fees are included in the total amount calculation: total = (qty Γ— price) + fee
  • Fees default to 0 if not specified
  • Fees are tracked separately for accurate cost basis calculations

Investment Activity Labels

Activity labels help you classify investment transactions. They appear as badges in your transaction list and help you understand your investment activity at a glance.

Recording Dividends and Interest

Dividends and interest are recorded as trades with zero quantity and zero price. This approach maintains data integrity while properly tracking investment income:

  • Dividends require a security to be selected (the stock or fund paying the dividend)
  • Interest can optionally specify a security, or will use a synthetic cash security for the account
  • Both appear in your holdings and trade history
  • Both are properly labeled with their respective activity types
  • The zero-quantity, zero-price approach preserves the trade model's required security association

When creating a dividend or interest transaction:

  1. Select Dividend or Interest from the trade type dropdown
  2. For dividends: Choose the security paying the dividend (required)
  3. For interest: Optionally select a security, or leave blank to use the account's cash position
  4. Enter the amount received
  5. The trade is created with qty: 0 and price: 0, maintaining the security association

Trade Fees

All trades support an optional fee field to track transaction costs like brokerage commissions, exchange fees, or other trading expenses.

How Fees Work

  • Fees are included in the total transaction amount: Total = (Quantity Γ— Price) + Fee
  • Fees default to 0 if not specified
  • Fees can be added when creating or editing trades
  • The fee field auto-submits like other trade fields

Adding Fees to Trades

When creating or editing a trade:

  1. Enter the quantity and price as usual
  2. Add the fee amount in the Fee field
  3. The total amount updates automatically to include the fee
  4. Save the trade

Example: Buying 10 shares at $50 with a $5 commission:

  • Quantity: 10
  • Price: $50
  • Fee: $5
  • Total: $505 (10 Γ— $50 + $5)

Fees are particularly important for:

  • Accurate cost basis calculations
  • Understanding true investment returns
  • Tax reporting and record keeping

Available Activity Labels

Label Description
Buy Purchase of securities
Sell Sale of securities
Contribution Money added to the investment account
Withdrawal Money removed from the investment account
Dividend Dividend payments received (recorded as trades with qty: 0)
Interest Interest earned (recorded as trades with qty: 0)
Reinvestment Dividends or distributions reinvested
Sweep In Cash swept into the account
Sweep Out Cash swept out of the account
Fee Account or transaction fees
Exchange Currency or security exchanges
Transfer Internal transfers
Other Miscellaneous transactions

[!NOTE]
Dividends and interest are recorded as trades with zero quantity and zero price. Dividends require a security selection, while interest can optionally use a synthetic cash security if no specific security is selected.

Setting Labels Manually

  1. Open a transaction from an investment or crypto account
  2. Scroll to the Settings section
  3. Find "Activity type"
  4. Select a label from the dropdown
  5. The change saves automatically

Setting Labels with Rules

Create rules to automatically label transactions based on patterns:

  1. Go to Settings > Rules
  2. Create a new rule
  3. Set conditions (e.g., "IF transaction name contains 'DIVIDEND'")
  4. Add action: "Set investment activity label"
  5. Choose the label (e.g., "Dividend")
  6. Save the rule

Example rules:

  • IF name contains "DIVIDEND" THEN set label to "Dividend"
  • IF name contains "INTEREST" THEN set label to "Interest"
  • IF name contains "FEE" THEN set label to "Fee"

[!NOTE]
Internal movement labels (Transfer, Sweep In, Sweep Out, Exchange) are automatically excluded from budget calculations since they represent cash management rather than income or expenses.

Tax Treatment Categories

Investment accounts have different tax implications based on their type:

Category Description Examples
Taxable Gains taxed when realized Brokerage, UGMA/UTMA
Tax-Deferred Taxes deferred until withdrawal 401(k), Traditional IRA, 403(b)
Tax-Exempt Qualified gains are tax-free Roth IRA, Roth 401(k), ISA
Tax-Advantaged Special tax benefits with conditions 529 Plan, HSA

Sure automatically assigns tax treatment based on account subtype, but you can adjust it manually if needed.

Understanding Gains and Losses

Sure helps you track two types of gains:

Unrealized Gains/Losses

Paper gains or losses on holdings you still own:

text
Unrealized Gain = Current Value - Cost Basis

If you bought 10 shares at $100 ($1,000 total) and they're now worth $1,200, you have an unrealized gain of $200.

Realized Gains/Losses

Actual gains or losses from securities you've sold. These are what matter for taxes.

The Trend indicator on each holding shows your unrealized gain or loss, calculated from your cost basis. If cost basis is unknown (no trades and no manual entry), the trend won't display.

Crypto-Specific Features

Crypto accounts work similarly to investment accounts but have unique characteristics:

Subtype Description Manual Trades
Wallet Self-custody or provider-synced No
Exchange Centralized exchanges (Binance, Coinbase, etc.) Yes
  • Exchange accounts support manual trade entry, letting you record buys and sells
  • Wallet accounts are sync-only, holdings are updated through provider connections

Crypto is taxable by default, though it can be held in tax-advantaged accounts (for example, a self-directed IRA).

Adding Investment Accounts

  1. Click + Add Account on your dashboard
  2. Select Investment or Crypto
  3. Choose the appropriate subtype (see Account Types for all options)
  4. Enter your account details:
    • Account name
    • Current balance
    • Tax treatment (if different from default)
  5. Click Create Account

After creating the account, you can add holdings manually or connect a provider to sync them automatically.


File: guides/key-concepts/transfers.mdx


title: Transfers Between Accounts

Transfers Between Accounts

A transfer moves money between your own accounts. Unlike income or expenses, transfers don't change your net worthβ€”they simply move funds from one place to another.

How Transfers Work

Every transfer consists of two linked transactions:

  1. Outflow - Money leaving one account (negative amount)
  2. Inflow - Money entering another account (positive amount)

These two transactions are linked together as a single transfer.

Example: Moving Money to Savings

When you transfer $500 from checking to savings:

Account Transaction Amount
Checking Outflow -$500
Savings Inflow +$500
Net Effect $0

Your total net worth stays the sameβ€”the money simply moved from one account to another.

Transfer Types

Sure recognizes different types of transfers based on the destination account:

Transfer Type When It's Used Budget Impact
Funds Movement Between asset accounts Excluded
CC Payment Payment to a credit card Excluded
Loan Payment Payment to a loan account Treated as expense
Investment Contribution To investment or crypto accounts Excluded

Funds Movement

General transfers between asset accounts:

  • Checking to savings
  • Savings to money market
  • Between investment accounts

These are excluded from budgets because they don't represent spending or income.

Credit card payment

When you pay your credit card bill, Sure creates a cc_payment transfer:

  • Outflow from your checking account
  • Inflow to your credit card (reducing your debt)

This is excluded from budgets because the spending already happened when you used the credit card.

When syncing transactions from a provider, Sure automatically classifies transactions to credit card accounts as credit card payment transfers.

Loan payment

Payments to loan accounts (mortgage, auto, student loans) are treated as loan_payment transfers.

[!NOTE]
Loan payments can be treated as expenses in budgets since they represent an ongoing financial obligation, even though they also reduce your debt.

When syncing transactions from a provider, Sure automatically classifies transactions to loan accounts as loan payment transfers.

Investment Contribution

Transfers to investment or crypto accounts:

  • Contributing to your 401(k)
  • Adding funds to a brokerage account
  • Moving money to a crypto exchange

These are excluded from budgets because you're saving/investing, not spending.

Creating Transfers Manually

To create a transfer:

  1. Go to the Transactions page
  2. Click + New Transaction
  3. Select Transfer
  4. Choose:
    • From account - Where money is coming from
    • To account - Where money is going
    • Amount - How much to transfer
    • Date - When the transfer occurred
  5. Click Add transaction

Sure automatically creates both the outflow and inflow transactions and links them together.

Automatic Transfer Matching

When you sync accounts with a provider (Plaid, SimpleFIN, etc.), Sure attempts to automatically match transfers between accounts.

How Matching Works

Sure looks for transaction pairs that:

  • Are from different accounts in the same family
  • Have opposite amounts (one positive, one negative)
  • Occurred within a date window

Date Windows

Transaction Status Window
Pending transactions 4 days
Confirmed transactions 30 days

Suggested Matches

When Sure finds a potential transfer match, it creates a pending transfer suggestion. You can:

  1. Confirm - Accept the match and link the transactions
  2. Reject - Dismiss the match (transactions remain separate)

To review suggested transfers:

  1. Open a transaction that may be part of a transfer
  2. Look for transfer match suggestions
  3. Confirm or reject as appropriate

Cross-Currency Transfers

When transferring between accounts with different currencies:

  • Sure validates that amounts have opposite signs
  • The exact amounts don't need to match (due to exchange rates)
  • Both transactions are linked as a transfer

Example: Transferring from a USD checking account to a EUR savings account:

Account Currency Amount
US Checking USD -$1,000
Euro Savings EUR +€920

The transfer is valid because one amount is negative and one is positive, even though the numbers differ due to the exchange rate.

Transfer Summary Totals

When viewing your transaction list filtered by transfers, Sure displays Inflow and Outflow totals instead of the standard Income and Expenses labels.

How It Works

Transfer-only filter:

  • When filtering exclusively by "Transfer" type, the summary bar shows:
    • Inflow: Total positive transfer amounts (money coming in)
    • Outflow: Total negative transfer amounts (money going out)

Mixed filters:

  • When filtering by transfers along with other transaction types (income, expenses), the summary bar shows standard Income/Expenses labels
  • Transfer amounts are excluded from these totals since they don't represent actual income or spending

This helps you understand your cash movement patterns when reviewing transfers in isolation.

[!NOTE]
When filtering by both transfers and other transaction types, transfer amounts are excluded from income and expense totals to avoid confusion.

How Transfers Affect Budgets

Transfers are generally excluded from budget calculations because they don't represent actual spending or income:

Transfer Type Budget Treatment
Funds Movement Excluded
CC Payment Excluded
Investment Contribution Excluded
Loan Payment Can be included as expense

[!TIP]
If you want to budget for loan payments, you may want to track them as expenses. Sure treats loan payments specially since they represent ongoing obligations.

Understanding Net Worth Impact

Transfers are zero-sum for net worth:

  • Moving $500 from checking to savings: Net worth unchanged
  • Paying $500 to credit card: Net worth unchanged (reduced cash = reduced debt)
  • Contributing $500 to 401(k): Net worth unchanged (reduced cash = increased investments)

The only time a transfer affects net worth is if there are fees involved (which would be a separate expense transaction).

Common Transfer Scenarios

Paying Off a Credit Card

  1. Money leaves your checking account (-$500)
  2. Credit card balance decreases (-$500 debt)
  3. Net worth: unchanged

Making a Mortgage Payment

  1. Money leaves your checking account (-$2,000)
  2. Loan balance decreases (-$1,700 principal, $300 goes to interest)
  3. Note: The interest portion is technically an expense

[!IMPORTANT]
Mortgage payments include both principal (reducing debt) and interest (an expense). Sure tracks the full payment as a loan transfer, but the interest portion represents a true cost.

Contributing to Retirement

  1. Money leaves your checking account (-$500)
  2. Investment account balance increases (+$500)
  3. Net worth: unchanged (cash converted to investments)

Transferring Between Banks

  1. Money leaves Bank A checking (-$1,000)
  2. Money arrives at Bank B checking (+$1,000)
  3. Net worth: unchanged

Troubleshooting Transfers

Duplicate Transactions

If you see both a transfer and separate expense/income transactions:

  • Check if the transactions should be linked as a transfer
  • Confirm or reject the transfer suggestion
  • Delete duplicate transactions if needed

Unmatched Transfers

If Sure didn't automatically match a transfer:

  • The amounts may not match exactly (due to fees or timing)
  • The dates may be too far apart
  • You can manually create a transfer to link them

Wrong Transfer Type

If a transfer is categorized incorrectly:

  • Check that both accounts are the correct type
  • The transfer type is determined by the destination account

File: guides/key-concepts/untitled-page.mdx


title: How Asset Accounts Work

How Asset Accounts Work

Assets are things you own that have monetary value. In Sure, asset accounts track your wealthβ€”from the cash in your checking account to the value of your home.

Understanding Asset Balances

Asset account balances work intuitively:

  • Income increases your balance (money coming in)
  • Expenses decrease your balance (money going out)

Example: Checking Account

Let's walk through a simple example:

Action Balance Change New Balance
Starting balance β€” $1,000
Paycheck deposit (+$2,500) +$2,500 $3,500
Rent payment (-$1,200) -$1,200 $2,300
Grocery shopping (-$150) -$150 $2,150

This matches what you see in your bank accountβ€”straightforward and predictable.

Types of Asset Accounts

Sure supports six types of asset accounts:

Cash (Depository)

Liquid funds you can access immediately. Includes:

Subtype Description
Checking Everyday spending account
Savings Interest-bearing savings
HSA Health Savings Account
CD Certificate of Deposit
Money Market Money market account

Investment

Accounts that hold securities like stocks, bonds, and mutual funds. Investment accounts have additional features for tracking holdings, trades, and cost basis. See Managing Investment Accounts for details.

Crypto

Cryptocurrency holdings, either in:

Subtype Description
Wallet Self-custody or provider-synced wallets
Exchange Centralized exchanges with trade history

[!NOTE]
Only exchange accounts support manual trade entry. Wallet accounts are sync-only.

Property

Real estate you own:

Subtype Description
Single Family Home Primary residence
Multi-Family Home Duplex, triplex, etc.
Condominium Condo unit
Townhouse Townhouse property
Investment Property Rental or investment real estate
Second Home Vacation home

Property accounts can track additional details like address, area (square footage), and year built.

Vehicle

Cars, trucks, motorcycles, and other vehicles you own. Vehicle accounts can track make, model, year, and mileage.

Other Asset

Anything else of value that doesn't fit the categories above:

  • Collectibles (art, antiques, coins)
  • Jewelry and watches
  • Equipment
  • Other valuables

Liquid vs. Illiquid Assets

Sure distinguishes between liquid and illiquid assets:

Liquid assets can be quickly converted to cash without significant loss of value:

  • Cash accounts (checking, savings)
  • Most investments (stocks, bonds, ETFs)

Illiquid assets take time to sell or may lose value if sold quickly:

  • Property
  • Vehicles
  • Some investments (private equity, real estate funds)
  • Other assets (collectibles, jewelry)

This distinction helps you understand not just your total net worth, but how much of it you could access quickly if needed.

How Assets Affect Net Worth

Your net worth is calculated as:

text
Net Worth = Total Assets - Total Liabilities

Every asset account contributes positively to your net worth. When asset values increase (your investments grow, your home appreciates), your net worth increases. When you spend from asset accounts, that balance decreasesβ€”but the money likely went toward something (an expense, a purchase, or a debt payment).

[!TIP]
For a complete picture of your finances, make sure to add both your assets and your debt accounts. Sure calculates your true net worth by subtracting what you owe from what you own.

Adding Asset Accounts

To add an asset account:

  1. Click + Add Account on your dashboard
  2. Select the asset type (Cash, Investment, Crypto, Property, Vehicle, or Other Asset)
  3. Enter your account details:
    • Account name
    • Current balance
    • Subtype (if applicable)
  4. Click Create Account

Your new asset account will appear in your accounts list and contribute to your net worth calculation immediately.


File: guides/app-features/assistant-sidebar.mdx


title: "AI assistant sidebar"

Sure includes an AI assistant sidebar on desktop. If you do not want to use it yet, you can hide it and bring it back later.

Hide or show the AI sidebar on desktop

On desktop, use the panel-right button in the top bar to toggle the right-hand AI sidebar.

  • Click it once to collapse the AI sidebar
  • Click it again to reopen the AI sidebar
  • Sure saves this preference to your account

This is useful if you want more room for the main app content or simply do not want to use the assistant yet.

When the sidebar is hidden by default

Sure can also hide the AI sidebar by default for some people:

  • New member and guest users start with the AI sidebar hidden when AI is not available
  • admin users still see it by default so they can finish AI setup or troubleshooting

If AI becomes available later, you can reopen the sidebar at any time with the same desktop toggle.


File: guides/app-features/budgets.mdx


title: "Budgets"

Budgets

Budgets help you set spending limits for different categories and track how well you're sticking to them throughout the month.

How Budgets Work

When you create a budget, you assign a spending limit to a category. As you spend money in that category, Sure tracks your progress and shows you:

  • Amount spent so far this month
  • Amount remaining in your budget
  • Status indicators showing if you're on track, near your limit, or over budget

Planning ahead

You can create budgets for future months, up to 2 years in advance. This lets you plan your spending ahead of time and set category limits before the month begins. Navigate forward using the month selector to set up upcoming budgets.

Setting Up Category Budgets

Each category can have its own budget. For example, you might set:

  • Food & Dining: $500/month
  • Entertainment: $200/month
  • Transportation: $300/month

Sure shows helpful daily suggestions like "$29.91 suggested per day for 11 remaining days" to help you pace your spending.

When editing a subcategory's budget, you'll see "Shared" as the placeholder text. Leave the field empty or set it to $0 to share the parent category's budget. Hover over the field to see the tooltip: "Leave empty to share parent's budget".

Subcategories and Shared Budgets

You can organize your spending further with subcategories. For example, "Food & Dining" might include:

  • Coffee & Takeout
  • Groceries
  • Restaurants

Individual budgets

Give each subcategory its own limit. This works well when you want strict control over specific types of spending.

Shared budgets

Leave a subcategory's budget empty to share the parent category's budget. This is great when you want flexibility across related expenses.

Example: Set "Food & Dining" to $500, but leave the subcategories without individual limits. Now all your food spending draws from the same $500 pool, whether you're buying groceries or eating out.

When a subcategory shares its parent's budget, you'll see a "(shared)" label next to the budget amount, making it clear which subcategories are drawing from the shared pool.

Mixed approach

Combine both methods. Set a fixed budget for some subcategories while others share the remaining amount.

Example:

  • Food & Dining: $500 total
  • Restaurants: $100 (fixed limit)
  • Groceries and Coffee share the remaining $400

When you set an individual budget for a subcategory, that amount is "ring-fenced" from the parent budget. Only that subcategory can use it, and it won't be available to other subcategories sharing the parent's budget.

How it works:

  • Restaurants has $100 remaining ($100 budget - $0 spent)
  • Groceries and Coffee share $350 remaining ($400 shared pool - $50 spent between them)
  • The parent Food & Dining shows the total remaining across all subcategories

Parent auto-aggregation

When you edit a subcategory's budget, the parent category's budget automatically updates to reflect the change. You don't need to manually adjust the parent β€” Sure keeps it in sync for you.

How it works:

  • When you increase a subcategory's budget, the parent's budget increases by the same amount.
  • When you decrease a subcategory's budget, the parent's budget decreases accordingly.
  • If the parent had extra budget beyond the sum of its subcategories (a "reserve"), that reserve is preserved during the update.
  • The parent's budget never drops below the combined total of its subcategories.

Example:

  • Food & Dining starts at $500 with Restaurants at $100 and Groceries at $150 ($250 reserve in the shared pool)
  • You increase Groceries from $150 to $200
  • Food & Dining automatically updates to $550, preserving the $250 reserve

Status Indicators

Sure uses color-coded badges to show your budget status at a glance:

  • On Track (green) - You're within budget and pacing well
  • Near Limit (yellow) - Getting close to your limit
  • Over Budget (red) - You've exceeded your budget

Tax-advantaged accounts and budgets

Sure automatically excludes activity from tax-advantaged investment accounts when calculating budget spending. This ensures your budgets accurately reflect your day-to-day spending without being skewed by investment contributions or withdrawals.

Excluded account types:

  • 401(k) accounts
  • IRA accounts (Traditional and Roth)
  • 403(b) accounts
  • Other tax-advantaged retirement accounts

Transactions from these accounts won't count toward your budget limits, keeping your budget focused on regular income and expenses.

Tips for Effective Budgeting

  1. Start simple - Begin with just a few major categories before adding detail
  2. Review monthly - Check your budgets at the end of each month and adjust as needed
  3. Use shared budgets for categories where you want flexibility between subcategories
  4. Use individual limits when you need strict control over specific spending