Choose How Transactions Are Added

BudgetViz supports two deep link endpoints — one that opens the app for review, and one that saves silently in the background.

open_in_new

Interactive Mode

/transaction

Opens BudgetViz and shows the transaction for review before saving. If all required data is present and your settings allow it, the transaction may be auto-saved without opening the editor. Otherwise you can edit or fill in missing fields before confirming.

bolt

Silent Mode

/silent_transaction

Saves the transaction in the background without opening the app's main interface. You'll receive a notification confirming the import succeeded or failed. Ideal for fully automated flows where no user interaction is needed.

URL Format

Both modes use the same base URL — only the path differs:

Interactive mode
https://budgetvizapp.web.app/transaction?parameter=value&parameter=value
Silent mode
https://budgetvizapp.web.app/silent_transaction?parameter=value&parameter=value

Transaction Parameters

Append these query parameters to the base URL. Either amount or the combination of original_currency_code + original_currency_amount is required — everything else is optional and will use sensible defaults if omitted.

Parameter Required Description Example
amount Conditional Transaction amount in your account's currency. Supports many number formats including currency symbols, thousand separators, and both US and European decimal conventions. See Amount Formats below. Required unless both original_currency_code and original_currency_amount are provided (in which case BudgetViz converts automatically). -42.50
description Optional A text description of the transaction. Will be URL-encoded when included in the link (spaces become %20 or +). Grocery+shopping
category Optional Name of an existing category in your BudgetViz setup. If not found, the default category is used. If omitted and auto-categorization is enabled, BudgetViz may suggest a category from the description. Food
sub_category Optional Name of a subcategory under the given category. Requires category to be set. Falls back to the default subcategory if not found. Groceries
account Optional Name of the account to assign the transaction to. Must match an existing account in BudgetViz. Falls back to your default account if not found or omitted. Checking
date Optional Transaction date and optional time. Supports many common formats. See Date Formats below. Defaults to the current date and time if omitted. 2026-02-28
transaction_type Optional Explicitly set the type: INCOME or EXPENSE. If omitted, it is inferred from the sign of the amount (or the sign of original_currency_amount when amount is omitted). Positive = income, negative = expense. EXPENSE
original_currency_code Optional ISO 4217 currency code of the original transaction currency (e.g., USD, EUR, GBP). Must be paired with original_currency_amount — if only one of the two is provided, both are discarded. When both are present and amount is omitted, BudgetViz automatically converts the original amount to your account's currency. USD
original_currency_amount Optional The transaction amount in the original currency. Must be paired with original_currency_code. Supports the same number formats as amount. If the value is 0 or unparseable, the entire original currency block is discarded. -35.00
lightbulb

Category & account matching: The deep link handler matches category, subcategory, and account names against what you already have set up in BudgetViz. If a name doesn't match, the handler gracefully falls back to the default. Make sure the names in your deep link match your BudgetViz categories and accounts exactly.

Original Currency & Automatic Conversion

The original_currency_code and original_currency_amount parameters let you record transactions in a foreign currency. BudgetViz handles conversion depending on what you provide:

currency_exchange

Auto-conversion (no amount)

If you provide original_currency_code + original_currency_amount but omit amount, BudgetViz automatically converts the original amount to your account's currency using the stored exchange rate.

attach_money

Metadata only (with amount)

If you provide all three — amount, original_currency_code, and original_currency_amount — the explicit amount is used as the transaction value. The original currency data is stored as informational metadata only (no conversion happens).

link_off

Pair requirement

Both original_currency_code and original_currency_amount must be present together. If only one is provided, both are silently discarded. The currency code must also be a valid ISO 4217 code, and the amount must be non-zero and parseable.

warning

Rejection rule: If neither amount nor a valid original currency pair is provided, the deep link is rejected entirely and no transaction is created. Make sure you always include at least one of the two.

Date & Amount Formats

Date & Time Formats

The date parameter accepts many common date and date-time formats. If only a date is provided (without a time component), midnight (00:00:00) is used as the time.

check_circle ISO & Standard

2025-01-15T09:30:00 2025-01-15 09:30:00 2025-01-15 09:30 2025-01-15

check_circle US Format

01/15/2025 13:30:00 01/15/2025 13:30 01/15/2025 01:30:00 PM 01/15/2025 01:30 PM 01/15/2025

check_circle Dot-Separated

2025.01.15 09:30:00 2025.01.15

check_circle Named Month

15-Jan-2025 15-Jan-2025 09:30:00
lightbulb

Recommended format: Use yyyy-MM-dd HH:mm:ss (e.g., 2025-01-15 13:30:00) for maximum clarity and compatibility. Most formats use 24-hour notation. The US date format (MM/dd/yyyy) also accepts 12-hour time with an AM/PM suffix (e.g., 01/15/2025 09:30 PM). Remember to URL-encode spaces as %20 or + when including time components.

Amount Formats

The amount parameter is flexible and handles a wide range of locale-specific number formats, thousand separators, and even currency symbols (which are stripped automatically).

check_circle Standard

1234.56 -1234.56 +1234.56

check_circle US Grouping

1,234.56 1,234,567.89

check_circle European

1.234,56 1.234.567,89 12,99

check_circle Other Separators

1 234.56 1'234.56

check_circle With Currency Symbols

$1,234.56 1.234,56€ 150 kr RM 500

check_circle Trailing Minus

1234.56-

Some bank formats place the minus sign at the end

warning

Ambiguous amounts: A value like 1,234 is interpreted as one thousand two hundred thirty-four (the comma is treated as a thousand separator since it is followed by exactly three digits). A value like 1,23 is interpreted as 1.23 (the comma is treated as a decimal separator). To avoid ambiguity, use the standard decimal point format (e.g., 1234.00).

Example Deep Links

Copy and adapt these examples for your automation workflows.

Minimal — Amount Only

Creates an expense of 25.00 with the current date. In interactive mode, you'll be prompted to fill in the remaining details.

Interactive — minimal
https://budgetvizapp.web.app/transaction?amount=-25.00

Complete Transaction

Includes all fields — category, subcategory, account, date, and description. In interactive mode with the right settings, this can be auto-saved without user input.

Interactive — complete
https://budgetvizapp.web.app/transaction?amount=-89.90&description=Weekly%20groceries&category=Food&sub_category=Groceries&account=Checking&date=2026-02-28

Silent Salary Import

Silently records a monthly salary payment in the background. A notification confirms the result.

Silent — income
https://budgetvizapp.web.app/silent_transaction?amount=3500&description=Monthly%20salary&category=Income&sub_category=Salary&account=Savings&transaction_type=INCOME

Quick Coffee Expense

A short silent deep link for a common small expense — great for an NFC tag or home screen shortcut.

Silent — quick expense
https://budgetvizapp.web.app/silent_transaction?amount=-4.50&description=Coffee&category=Food&sub_category=Cafe

Foreign Currency — Auto-Conversion

Records a transaction in a foreign currency without specifying the local amount. BudgetViz converts the original amount to your account's currency automatically.

Interactive — original currency only
https://budgetvizapp.web.app/transaction?original_currency_code=USD&original_currency_amount=-35.00&description=Uber%20ride&category=Transport

Foreign Currency — With Explicit Amount

When you already know the converted amount, provide both. The explicit amount is used as the transaction value, and the original currency data is stored as metadata for your reference.

Silent — amount + original currency
https://budgetvizapp.web.app/silent_transaction?amount=-32.50&original_currency_code=USD&original_currency_amount=-35.00&description=Uber%20ride&category=Transport
info

Type inference: If you leave out the transaction_type parameter, BudgetViz will automatically classify the transaction as an expense (negative amount) or income (zero or positive amount). When amount is omitted and only the original currency amount is provided, the type is inferred from the sign of original_currency_amount instead. This simplifies most deep links since you only need to use the sign of the amount.

Build Your Deep Link

Fill in the fields below to generate a ready-to-use deep link URL. You can copy it, open it directly on an Android device, or pin it to your home screen for one-tap access.

https://budgetvizapp.web.app/transaction?amount=-42.50
open_in_new Open

info "Open" will attempt to open the link on this device — it only works on Android with BudgetViz installed. Either Amount or both Original Currency Code + Original Currency Amount must be provided.

One-Tap Transactions from Your Home Screen

Turn any deep link into a shortcut icon on your Android home screen. Tap it once and BudgetViz logs the transaction — no browser, no typing, no app switching.

touch_app

Silent — One Tap, Done

Pair a shortcut with a silent deep link and the transaction is saved entirely in the background — one tap and you're done. Best for fixed-amount expenses you log often, like a daily coffee or a monthly subscription. Just be mindful of accidental taps — if you trigger one by mistake you'll need to delete it from the app.

edit_note

Interactive — Review Before Saving

Pair a shortcut with an interactive deep link and you'll get the transaction editor with your details pre-filled — ready to adjust and save. Great when the amount varies each time: set up the category, account, and description in the shortcut but leave the amount blank, then just type the amount and hit save. Set "Confirm deep link imports" to "Always confirm" in settings for this workflow.

How to Create a Shortcut

You can create a shortcut directly from the deep link builder above. On an Android device, the builder shows an "Add to Home Screen" button that handles everything automatically:

1

Build your deep link

Fill in the transaction details in the form above — amount, description, category, and so on. Choose Silent or Interactive mode depending on whether you want to review the transaction or save it instantly.

2

Tap "Add to Home Screen"

The button appears automatically when you visit this page on an Android device. A shortcut label is generated from the description and account, or you can type your own. Tap the button and Android will ask you to confirm the placement.

3

Tap the shortcut anytime

The new icon appears on your home screen with the BudgetViz logo and your label. Each tap fires the deep link directly into BudgetViz — no browser opens, no URL bar flashes, the transaction just happens.

lightbulb

Tip: You can create as many shortcuts as you like — one for coffee, one for lunch, one for your gym membership. Arrange them in a folder on your home screen for a quick-access expense dashboard.

info

Android only: The "Add to Home Screen" button only appears when visiting this page on an Android device. On desktop or iOS, you can still copy the deep link URL and use it with other automation tools.

Interactive Mode Auto-Save

When using the /transaction (interactive) endpoint, BudgetViz can automatically save the transaction without opening the editor — if enough data is present. This behavior is controlled by the Deep Link Confirmation setting in the app.

How It Works

If the confirmation setting is set to "Only if missing data", a transaction will be auto-saved when all of the following are present in the deep link:

If any data is missing, the transaction editor opens so you can review and fill in the blanks before saving.

lightbulb

Tip: For fully hands-free automation, include category, sub_category, and description in your deep link, set your confirmation mode to "Only if missing data", or use the /silent_transaction endpoint which always saves without user interaction.

Smart Category Assignment

BudgetViz can automatically assign categories to deep link transactions using a built-in machine-learning model that learns from your existing transaction history. This is especially useful when your deep links include a description but no category — the app can figure out the right one for you.

How It Works

When auto-categorization is enabled, the deep link handler checks each incoming transaction. If a transaction would land in the default (uncategorized) category — either because the deep link didn't include a category parameter or because the specified category wasn't found — BudgetViz analyzes the transaction's description and compares it against patterns it has learned from your previously categorized transactions.

The model uses a technique called Naive Bayes classification with TF-IDF-inspired word scoring. In plain terms: it looks at the words in the description, checks which categories those words have appeared in before, and picks the most likely match. It predicts both a main category and a subcategory independently.

lightbulb

Enabling the feature: Auto-categorization is controlled by a setting in the app. Go to Settings → Auto-assign categories to toggle it on or off. When disabled, transactions without a valid category simply use the default category as usual.

Confidence Thresholds

To avoid incorrect assignments, BudgetViz only applies a suggestion when the model is sufficiently confident. A category and a subcategory suggestion must meet certain confidence thresholds. If either threshold isn't met, the transaction keeps the default category or default subcategory respectively.

Advantages

speed

Simpler deep links

You don't need to include category and sub_category in every deep link — just provide a good description and the model handles the rest.

trending_up

Gets smarter over time

The model is trained on your own transaction history. The more categorized transactions you have, the more accurate the predictions become. It learns your spending patterns, not generic ones.

shield

Conservative by design

The confidence thresholds mean the model only assigns a category when it's reasonably sure. Low-confidence guesses are left as uncategorized so you can review them yourself.

lock

Fully on-device

The model runs entirely on your device — no data is sent to external servers. It's built from your local transaction history and stays private.

Limitations

warning

New users & small datasets: If you're just getting started with BudgetViz and have few categorized transactions, the model won't have enough data to make reliable predictions. You'll see the biggest improvement once you have at least 50 or more categorized transactions with descriptions. Until then, expect most transactions to land in the default category.

A few other things to keep in mind:

text_fields

Requires a description

The model works by analyzing the description parameter. If a transaction has no description, auto-categorization has nothing to work with and the transaction will use the default category.

translate

Language and word patterns matter

The model tokenizes descriptions into individual words. It works best when your deep link descriptions use similar wording to your existing transactions. Mixing languages or using very different description styles may reduce accuracy.

edit

Won't override explicit categories

Auto-categorization only kicks in when a transaction would otherwise be uncategorized. If your deep link includes a valid category that matches an existing category in the app, that explicit assignment is always respected.

Works With Your Favorite Tools

Any app or tool that can open a URL can create BudgetViz transactions. Here are some popular options:

precision_manufacturing

Tasker

Use the "Browse URL" or "Send Intent" action to trigger deep links based on time, location, NFC tags, or any other Tasker event.

schema

Automate

Use the "Open URL" block in your flow to send deep links. Combine with triggers like SMS, notifications, or schedules.

sync_alt

IFTTT

Use the "Open URL" webhook action to add transactions when triggered by bank notifications, smart home events, or anything else.

nfc

NFC Tags

Write a deep link URL to an NFC tag — tap your phone to a tag on your wallet, door, or car to log recurring expenses instantly.

add_to_home_screen

Home Screen Shortcuts

Use the deep link builder to pin one-tap shortcuts directly to your Android home screen — no browser involved.

terminal

ADB / Shell

For developers: trigger deep links from a terminal with adb shell am start -a android.intent.action.VIEW -d "URL"

arrow_upward Back to top