Settings

Configure user preferences, data management, and admin settings to customize the Budget app for your workflow.

Overview#

The Settings page provides control over localization, number formatting, budget periods, notifications, import behavior, security, and data management. Most settings take effect immediately.

Access settings via Settings in the sidebar navigation.

Localization#

Configure how the app displays regional information:

  • Default Currency - Choose from 45+ world currencies (e.g., USD, EUR, GBP, JPY). This sets the default currency for new accounts and display formatting throughout the app.
  • Date Format - Select your preferred date display format (e.g., DD/MM/YYYY, MM/DD/YYYY, YYYY-MM-DD).
  • First Day of Week - Set whether your calendar week starts on Sunday, Monday, or Saturday. Affects weekly reports and date pickers.

Tip: The currency setting only affects display formatting and new account defaults. Existing accounts retain their configured currency.

Number Format#

Control how numbers and amounts are displayed:

  • Decimal Places - Choose between 0 and 5 decimal places for currency display
  • Decimal Separator - Select . (period) or , (comma)
  • Thousands Separator - Select , (comma), . (period), or a space

A live preview shows how your formatted numbers will appear with the current settings (e.g., 1,234.56 or 1.234,56).

Note: These settings affect display only. Stored values always use full precision internally.

Budget Settings#

Configure how your budget periods work:

  • Default Budget Period - Set the default time period for budget tracking (monthly, weekly, etc.)
  • Budget Start Day - Choose a day of the month (1-31) for when your budget month begins. Useful if your pay cycle doesn't align with calendar months.

Tip: If you get paid on the 15th, setting the budget start day to 15 means your budget period runs from the 15th of one month to the 14th of the next.

Notification Settings#

Toggle notifications for budget events:

  • Budget Alert Notifications - Send a Nextcloud notification the first time a category reaches your alert threshold in a budget period, and a second one if it later goes over budget. That is the most you will get per category per period; a category that drops back under the threshold is forgotten, so it can alert again if it climbs back (on by default)
  • Budget Alert Threshold - The percentage of a category's budget at which it starts showing on the Budget Alerts tile (default 80%). Set it to 100% to be alerted only when a category actually goes over budget, rather than when it's merely approaching the limit
  • Forecast Warning Notifications - Send a notification when the six-month forecast projects your combined balance below zero, naming the month it happens and the figure it falls to. At most one a month, since the projection is a trend estimate that shifts as new transactions land (on by default)
  • Unusual Spending Alerts - Notify when a category runs well above its 6-month typical spending. Median-based with a minimum-amount floor and at most one alert per category per month (on by default)
  • Budget Digest - Opt-in weekly or monthly summary (income vs spending, budget status, upcoming bills, goals, unusual spending, new bill suggestions) as a Nextcloud notification, optionally also by email. Unusual spending here covers the period the digest reports on - the finished week or month - compared with your six-month typical spending scaled to that period's length, so it is not the same figure as the live alert above

Receipts#

  • Receipts folder - Where uploaded receipts are filed in your Files, as a path relative to your Files root. The default is Budget/Receipts; click Browse… to pick any folder from your Files (or type a path such as Applications/Budget) to keep Budget's files alongside other apps'. Year and month subfolders (<year>/<month>/) are created underneath whichever folder you choose. Changing the folder only affects receipts uploaded from then on — ones already attached stay where they are, because the app never moves or deletes your files. The web form, the API and receipt scanning all use the same setting.

Scheduled Reports#

Have the previous month's summary report delivered automatically at the start of each month:

  • Monthly Report to Files - Saves a PDF into Budget/Reports/<year>/ in your Files; a notification links to it
  • Monthly Report by Email - Emails the PDF as an attachment (requires the Nextcloud instance to have a working mail server)

Both can be enabled independently; with both off the feature is inactive.

Import Settings#

Configure behavior for transaction imports:

  • Auto-Apply Import Rules - When enabled, import rules are automatically applied to categorize transactions during file imports (CSV, OFX and QIF)
  • Skip Duplicate Transactions - When enabled, transactions that appear to be duplicates are automatically skipped during import
  • Default Export Format - Set the default file format for data exports

Note: Duplicate detection uses a combination of date, amount, and description to identify potential duplicates.

Quick Add Page and System Info#

These two panels now live on the Help & Docs page rather than in Settings — see Help & Docs.

Data Migration#

Tools for moving your data between instances:

  • Export - Downloads all your budget data as a single ZIP archive. It contains everything the app stores for you: accounts, categories, transactions (including splits, tags and the links joining transfer pairs), bills and recurring transfers, tags and tag sets, recurring income, savings goals, assets and their value history, pensions with contributions and snapshots, interest-rate history, manually set exchange rates, import rules and templates, saved reports, net-worth and budget history, reconciliation history, debt payoff scenarios, shared-expense contacts with shares and settlements, and your settings.
  • Import - Upload a previously exported archive to restore your data. Importing replaces all existing Budget data for your user, and every cross-reference is rewired to the new instance's ids, so tagged, split and linked transactions come back exactly as they were. Archives from older app versions import fine; they simply contain less.

A few things deliberately stay out of the archive (the manifest inside it says so too): bank-sync connections (the agreement with your bank is tied to the old instance and must be set up again), shares with other users (they reference accounts on the old server), receipt files (they live in Nextcloud Files — copy them across with your files), and the automatically fetched exchange-rate cache.

Repair Data#

Scans your data for inconsistencies and shows you exactly what it found before changing anything. Nothing is altered until you press Fix Selected Issues, and every category can be unticked.

Click Scan for Issues to run it. Each category that found something is listed with a count; click a heading to see the individual items.

CategoryWhat it looks for
Duplicate Auto-Generated TransactionsTransactions the app created twice from the same bill or recurring transfer. One of each pair is always kept, and a deleted row takes its splits, tags and attachments with it.
Bills With Stuck Due DatesActive bills whose next due date has fallen into the past and stopped advancing.
Paid One-Time Bills Still ActiveOne-off bills that were paid but never deactivated, so they keep appearing as due.
Future Transactions Not Marked as ScheduledTransactions dated in the future that were marked cleared, so their amounts were counted in today's balance.
Debts Recorded as Being in CreditCredit cards, loans, mortgages and lines of credit holding a positive balance, which the app reads as money owed to you rather than money you owe. See below.
Split Transactions Carrying a CategorySplit transactions that also hold a category of their own, left behind by an older version of bulk edit or by a rule run. A split keeps its categories on its parts, so it should not carry one. Only the stray category is removed — the split and every part of it are left as they are.
Account Balance InconsistenciesAccounts whose stored balance no longer matches the sum of their transactions. Always recalculated last, after the other fixes.

Debts Recorded as Being in Credit#

This one asks you a question rather than simply fixing things, because only you know the answer.

A debt account holding a positive balance is usually a mistake — a statement balance typed in without a minus sign, which makes the app count the debt as money you have and inflates your net worth by twice the amount. But it can also be perfectly correct: if you have overpaid a credit card, the issuer really does owe you.

The scan lists each affected account with what it reads now and what it will read afterwards, largest first. Every account is ticked by default, since the mistake is the common case.

Untick any account you really have overpaid. Those are recorded as genuine credits, kept exactly as they are, and left out of every future scan — so the category empties out rather than asking you again.

Note: repairing an interest-bearing loan that was recorded in credit will also restore its interest accrual. Interest is only accrued on a balance the app sees as a debt, so an affected loan will not have accrued any, and its accrued figure will change once the balance is corrected.

Factory Reset#

Permanently delete ALL your budget data:

  • Removes all accounts, transactions, categories, bills, savings goals, rules, and settings
  • Audit logs are preserved for security purposes
  • Requires explicit confirmation before proceeding
  • Cannot be undone

Warning: Factory reset is irreversible. Consider exporting your data first if you might need it later.

Admin Settings#

These settings are only visible to Nextcloud administrators:

  • Enable Bank Sync - Toggle the Bank Sync feature on or off for all users on the instance. An experimental feature warning is displayed when this section is visible.
  • Receipt scanning - Choose which OCR provider reads photographed receipts, or leave it off. Off by default, and while it is off no receipt image is sent anywhere. The choice is server-wide, and the API key is stored encrypted and never shown again after saving. See Receipt Scanning.

Note: Admin settings affect all users on the Nextcloud instance, not just the administrator's own account.

If an Update Did Not Finish#

Nextcloud applies an app's database changes as part of upgrading the app and records each one as done. Occasionally that goes wrong — the files are updated but the database is not, a change is recorded as applied yet its column is not there, or a file never reached the server. Nothing complains at first, because reading a missing column just gives an empty value; the first sign is a save failing with the database's own words, such as Unknown column 'amount_type'.

The usual cause is two app updates running at the same time. Nextcloud applies each database change by comparing the whole database with a snapshot taken when the step started, and removes anything the snapshot did not have, so when two apps update at once each can take out a column the other has just added — and the Apps page's Update all starts every app's update at the same time. The update that added the column is recorded as done, yet the column is gone.

Budget checks for this itself. On every page load it compares the live database with every column the app writes, and if anything is missing it shows a banner at the top of the app, reports an error in Settings → Administration → Overview, and adds the same detail to the error a failed save shows. The message lists what is missing by table and column.

Budget also repairs it itself. After its own database changes on every update, and whenever the app is enabled, it checks its tables and re-runs the change behind anything missing. So the fix is any one of:

  • Update the app, when a newer version is available.
  • Disable and enable the app from the Apps page. Nothing else on the instance is affected and no command line is needed.
  • From the Nextcloud directory as the web server user: occ app:disable budget && occ app:enable budget, or occ maintenance:repair.

Each change checks before acting, so re-running one that did apply changes nothing, and only the table structure is restored — a data step from an earlier update is never run twice. If the message says no update on the server adds the column, the app's files are incomplete: reinstall the app, then enable it. If the schema cannot be read at all, the check stays quiet rather than guess.

Note: Repair Data above fixes data — duplicates, stuck bills, balances. It cannot add a missing column, so it is not the tool for this.

  • Bank Sync - Automatic transaction imports from external banks
  • Receipt Scanning - Turning photographed receipts into transactions
  • Import - Manual transaction import from files
  • Exchange Rates - Multi-currency support configuration