Add transactions to BudgetViz automatically — without opening the app manually. Perfect for hands-free expense tracking with automation tools like Tasker, Automate, or IFTTT.
A deep link is a special URL that, instead of opening a web page in your browser, opens a specific app on your phone and tells it to do something. You may already be familiar with this concept — for example, tapping a YouTube link opens the YouTube app directly, or clicking an address opens Google Maps.
BudgetViz supports deep links that let you create transactions by simply opening a URL. The URL contains all the transaction details (amount, description, category, etc.) as parameters. When your phone opens this URL, BudgetViz receives the data and either saves the transaction automatically or shows it for your review.
Why is this useful? Deep links let you connect BudgetViz to automation tools and workflows. For example, you could set up a rule that automatically logs a transaction when you receive a bank notification, every time you tap an NFC tag on your wallet, at a scheduled time each month for recurring bills, or with a one-tap shortcut on your home screen. Any app or tool that can open a URL can create a BudgetViz transaction.
A BudgetViz deep link looks like a normal web URL with transaction details added as parameters:
https://budgetvizapp.web.app/transaction?amount=-42.50&description=Lunch
When this URL is opened on an Android device with BudgetViz installed, the app receives the data and creates a transaction for 42.50 (expense) with the description "Lunch". It's that simple. The rest of this guide covers all the available parameters, formats, and options in detail.
BudgetViz supports two deep link endpoints — one that opens the app for review, and one that saves silently in the background.
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.
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.
Both modes use the same base URL — only the path differs:
https://budgetvizapp.web.app/transaction?parameter=value¶meter=value
https://budgetvizapp.web.app/silent_transaction?parameter=value¶meter=value
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 |
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.
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:
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.
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).
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.
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.
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.
2025-01-15T09:30:00
2025-01-15 09:30:00
2025-01-15 09:30
2025-01-15
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
2025.01.15 09:30:00
2025.01.15
15-Jan-2025
15-Jan-2025 09:30:00
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.
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).
1234.56
-1234.56
+1234.56
1,234.56
1,234,567.89
1.234,56
1.234.567,89
12,99
1 234.56
1'234.56
$1,234.56
1.234,56€
150 kr
RM 500
1234.56-
Some bank formats place the minus sign at the end
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).
Copy and adapt these examples for your automation workflows.
Creates an expense of 25.00 with the current date. In interactive mode, you'll be prompted to fill in the remaining details.
https://budgetvizapp.web.app/transaction?amount=-25.00
Includes all fields — category, subcategory, account, date, and description. In interactive mode with the right settings, this can be auto-saved without user input.
https://budgetvizapp.web.app/transaction?amount=-89.90&description=Weekly%20groceries&category=Food&sub_category=Groceries&account=Checking&date=2026-02-28
Silently records a monthly salary payment in the background. A notification confirms the result.
https://budgetvizapp.web.app/silent_transaction?amount=3500&description=Monthly%20salary&category=Income&sub_category=Salary&account=Savings&transaction_type=INCOME
A short silent deep link for a common small expense — great for an NFC tag or home screen shortcut.
https://budgetvizapp.web.app/silent_transaction?amount=-4.50&description=Coffee&category=Food&sub_category=Cafe
Records a transaction in a foreign currency without specifying the local amount. BudgetViz converts the original amount to your account's currency automatically.
https://budgetvizapp.web.app/transaction?original_currency_code=USD&original_currency_amount=-35.00&description=Uber%20ride&category=Transport
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.
https://budgetvizapp.web.app/silent_transaction?amount=-32.50&original_currency_code=USD&original_currency_amount=-35.00&description=Uber%20ride&category=Transport
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.
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
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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:
amount
description
category that matches an existing category in the app, or the smart auto-categorization finds a match automatically
date (or it defaults to the current time)
If any data is missing, the transaction editor opens so you can review and fill in the blanks before saving.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
Any app or tool that can open a URL can create BudgetViz transactions. Here are some popular options:
Use the "Browse URL" or "Send Intent" action to trigger deep links based on time, location, NFC tags, or any other Tasker event.
Use the "Open URL" block in your flow to send deep links. Combine with triggers like SMS, notifications, or schedules.
Use the "Open URL" webhook action to add transactions when triggered by bank notifications, smart home events, or anything else.
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.
Use the deep link builder to pin one-tap shortcuts directly to your Android home screen — no browser involved.
For developers: trigger deep links from a terminal with
adb shell am start -a
android.intent.action.VIEW -d "URL"