# Econumo — Documentation
> Econumo is an open-source budgeting app for personal, couple, and family finances — multi-currency, joint accounts, and shared budgets. Cloud or self-hosted.
# Getting Started
URL: https://econumo.com/docs/
# Welcome
This guide will help you get started with **Econumo** (`eh-koh-NOO-mo`). It will provide you with the basic information
about the application and explain the main concepts and motivation behind it.
## Econumo's concept
The purpose of **Econumo** is to help you **manage** your **money** more effectively, whether on your own or **together**
with your partner, using the data you provide.
## How it started
I started using expense trackers in 2008 and have experimented with many since then. You might wonder why I switched
apps. Here are a few reasons that may resonate with you:
- I switched between iPhone and Android.
- I traveled to other countries and needed a tool to track expenses in different currencies.
- I eventually realized I needed a budgeting tool, not just an expense tracker.
- After getting married, I needed a family budgeting and planning tool that supported multiple platforms.
- The last app I used had a bug in the sync/backup process, resulting in the loss of all my data with no recovery
option.
In September 2020, after this data loss, I researched but couldn’t find an app that met my family's needs. So, I decided
to create one more budgeting app: **Econumo** (`eh-koh-NOO-mo`). Since then, my spouse and I have used it regularly, and
I continuously improve it to help us manage our money better.
I decided to publish Econumo in December 2024 to benefit others and give back to the community for the self-hosted tools I
use. Therefore, you can use **Econumo** completely free as a self-hosted option (see [Editions](/docs/edition) to learn more).
# Contents
The guide consists of the following sections:
1. [Getting Started](/docs/)
2. [Editions](/docs/edition/)
3. [User Guide](/docs/user-guide/)
4. [Apps](/docs/apps/)
5. [Self-Hosting](/docs/self-hosting/)
6. [API](/docs/api/)
7. [FAQ](/docs/faq/)
8. [Contact Us](/docs/contact-us/)
---
# Econumo Editions
URL: https://econumo.com/docs/edition/
# Econumo Editions
Econumo provides versatile editions to meet various needs:
---
### Econumo
Suited for individuals and families seeking convenience and access, the hosted service at
[app.econumo.com](https://app.econumo.com/) offers a comprehensive suite of financial management tools available
anytime, anywhere.
Create an account at [app.econumo.com](https://app.econumo.com/register) to start a free trial — no credit card required.
---
### Econumo Self-Hosted
Designed for households needing a self-hosted, collaborative approach. This **free**, MIT-licensed platform delivers powerful
financial management features for those who prioritize privacy and control over their budgeting.
**Econumo Self-Hosted** is a single self-contained binary (shipped as a distroless Docker image) that serves both the
API and the web app and runs on SQLite by default (PostgreSQL is also supported). Users share accounts and budgets by
[connecting with an invitation](/docs/user-guide/shared-access/) and choosing an access level per item.
To get started with **Econumo Self-Hosted**, please follow the instructions on
the [GitHub repository](https://github.com/econumo/econumo).
---
# User Guide
URL: https://econumo.com/docs/user-guide/
# User Guide
This guide covers the essentials of using Econumo — from your first sign-in to
family budgeting with shared accounts.
Econumo works the same way in a desktop browser, on a tablet, and on a phone.
Throughout this guide, every screen is shown on all three form factors: the
desktop layout with the sidebar, the compact tablet layout, and the mobile
layout, where lists open full-screen and actions live in bottom sheets.
## Contents
- [Introduction](/docs/user-guide/)
- [Sign Up](/docs/user-guide/#sign-up)
- [Sign In](/docs/user-guide/#sign-in)
- [Password Recovery](/docs/user-guide/#password-recovery)
- [Getting started checklist](/docs/user-guide/#getting-started-checklist)
- [Finding your way around](/docs/user-guide/#finding-your-way-around)
- [Accounts](/docs/user-guide/accounts/)
- [Account creation](/docs/user-guide/accounts/#account-creation)
- [Managing your accounts](/docs/user-guide/accounts/#managing-your-accounts)
- [Shared access](/docs/user-guide/accounts/#shared-access)
- [Transactions](/docs/user-guide/transactions/)
- [Adding transactions](/docs/user-guide/transactions/#adding-transactions)
- [Editing a transaction](/docs/user-guide/transactions/#editing-a-transaction)
- [Deleting a transaction](/docs/user-guide/transactions/#deleting-a-transaction)
- [Recurring Transactions](/docs/user-guide/recurring-transactions/)
- [Creating a recurring transaction](/docs/user-guide/recurring-transactions/#creating-a-recurring-transaction)
- [Posting or skipping a payment](/docs/user-guide/recurring-transactions/#posting-or-skipping-a-payment)
- [Editing and deleting a schedule](/docs/user-guide/recurring-transactions/#editing-and-deleting-a-schedule)
- [Search](/docs/user-guide/search/)
- [Finding things](/docs/user-guide/search/#finding-things)
- [Acting on a result](/docs/user-guide/search/#acting-on-a-result)
- [Inbox](/docs/user-guide/inbox/)
- [Scheduled transactions](/docs/user-guide/inbox/#scheduled-transactions)
- [Sharing invites](/docs/user-guide/inbox/#sharing-invites)
- [Classifications](/docs/user-guide/classifications/)
- [Create a category, tag, or payee](/docs/user-guide/classifications/#create-a-category-tag-or-payee)
- [Budget tags and reporting tags](/docs/user-guide/classifications/#budget-tags-and-reporting-tags)
- [Update or delete](/docs/user-guide/classifications/#update-or-delete)
- [Merge duplicates](/docs/user-guide/classifications/#merge-duplicates)
- [Archive or unarchive](/docs/user-guide/classifications/#archive-or-unarchive)
- [Searching a long list](/docs/user-guide/classifications/#searching-a-long-list)
- [Budgets](/docs/user-guide/budgets/)
- [Budget creation](/docs/user-guide/budgets/#budget-creation)
- [Update budget details](/docs/user-guide/budgets/#update-budget-details)
- [Manage your budget](/docs/user-guide/budgets/#manage-your-budget)
- [Budgets list](/docs/user-guide/budgets/#budgets-list)
- [Completing, duplicating and archiving a budget](/docs/user-guide/budgets/#completing-duplicating-and-archiving-a-budget)
- [Shared access](/docs/user-guide/budgets/#shared-access)
- [Plan](/docs/user-guide/plan/)
- [Opening the Plan view](/docs/user-guide/plan/#opening-the-plan-view)
- [Reading the sheet](/docs/user-guide/plan/#reading-the-sheet)
- [Planning a month](/docs/user-guide/plan/#planning-a-month)
- [Adding up a selection](/docs/user-guide/plan/#adding-up-a-selection)
- [The Balance row](/docs/user-guide/plan/#the-balance-row)
- [Keeping a long sheet readable](/docs/user-guide/plan/#keeping-a-long-sheet-readable)
- [Shared access](/docs/user-guide/shared-access/)
- [Connect with another user](/docs/user-guide/shared-access/#connect-with-another-user)
- [Accept or decline a sharing request](/docs/user-guide/shared-access/#accept-or-decline-a-sharing-request)
- [Remove connection between users](/docs/user-guide/shared-access/#remove-connection-between-users)
- [Check shared accounts and budgets](/docs/user-guide/shared-access/#check-shared-accounts-and-budgets)
- [Access status](/docs/user-guide/shared-access/#access-status)
- [Multi-Currency](/docs/user-guide/multi-currency/)
- [Accounts in different currencies](/docs/user-guide/multi-currency/#accounts-in-different-currencies)
- [Cross-currency transfers](/docs/user-guide/multi-currency/#cross-currency-transfers)
- [Currency in your budget](/docs/user-guide/multi-currency/#currency-in-your-budget)
- [Currencies](/docs/user-guide/currencies/)
- [Choosing which currencies you see](/docs/user-guide/currencies/#choosing-which-currencies-you-see)
- [Adding your own currency](/docs/user-guide/currencies/#adding-your-own-currency)
- [Editing or deleting a custom currency](/docs/user-guide/currencies/#editing-or-deleting-a-custom-currency)
- [User profile](/docs/user-guide/user-profile/)
- [Updating your user profile](/docs/user-guide/user-profile/#updating-your-user-profile)
- [Sessions](/docs/user-guide/user-profile/#sessions)
- [API tokens](/docs/user-guide/user-profile/#api-tokens)
- [Connected apps](/docs/user-guide/user-profile/#connected-apps)
- [CSV Import & Export](/docs/user-guide/csv-import-export/)
- [Apple Wallet](/docs/user-guide/apple-wallet/)
- [Set up on iOS 26 or iOS 27](/docs/user-guide/apple-wallet/#setup)
- [Map your cards to accounts](/docs/user-guide/apple-wallet/#map-your-cards-to-accounts)
---
## Sign Up
Switch to the **Sign up** tab and provide your name (or nickname), email, and
password (entered twice to confirm). The form is the same whether you use
Econumo at [app.econumo.com](https://app.econumo.com/register) or Econumo
Self-Hosted.
**Econumo at app.econumo.com**
A new account starts with a 45-day free trial, and no payment card is required
to sign up. To keep using Econumo after the trial, make a one-time payment.
See [Econumo Editions](/docs/edition/) for details.
**Econumo Self-Hosted**
Administrators can disable open registration with the
`ECONUMO_ALLOW_REGISTRATION` environment variable and create users from the
[CLI](/docs/self-hosting/cli-commands/) instead.
---
## Sign In
To sign in, enter the email and password you provided during sign-up. If your
Econumo instance enables single sign-on, an **or continue with** divider below
the form offers **Google**, **Apple**, or a custom OpenID Connect provider,
alongside the password form.
**Note**
Signing in through a provider for the first time creates a new, passwordless
account if your server allows registration. You can add a password afterwards
from **Settings → Personal settings → Change password**, or link the provider to an
account you already have from
[Sign-in methods](/docs/user-guide/user-profile/#sign-in-methods).
**Econumo Self-Hosted**
Administrators can turn password sign-in off entirely with the
`ECONUMO_PASSWORD_LOGIN` environment variable. On such an instance the sign-in
and sign-up screens show only the provider buttons — no email/password
fields, no **or continue with** divider, and no **Forgot password?** link —
and **Settings → Personal settings → Security** no longer offers **Change password** or
**Set a password**.
---
## Password Recovery
Click **Forgot password?** on the sign-in screen, enter your email, and press
**Send code**.
If an account exists with the provided email, you will receive a security code.
Enter the code, choose a new password, and press **Reset password**:
**Note**
Resetting your password is a deliberate account reclaim, not just a password
change: it signs you out everywhere, revokes API tokens, and unlinks any
sign-in provider that vouches for a different email address than your own.
Your shared budgets and connections are left alone.
---
## Getting started checklist
After your first sign-in, Econumo greets you with the **Getting started**
checklist — a guided tour through the initial setup: add your accounts, enter
(or import) your first transaction, review categories, tags, and payees, pick
an avatar, connect with your partner, and create your budget. Each step links
to the matching section of this guide, and completed steps are ticked off
automatically.
Work through the steps in any order — the shortcut buttons (**Add account**,
**Import transactions**, **Choose your avatar**) open the same dialogs
described later in this guide. When you are done, press **Finish setup** at
the bottom of the list. Nothing is lost by finishing early: every step remains
available in **Settings**.
---
## Finding your way around
Your accounts, grouped into folders, fill the sidebar on desktop and tablet and
the home screen on mobile; **Budget & Plan** above them opens your
[budget](/docs/user-guide/budgets/) and its
[Plan view](/docs/user-guide/plan/). Next to the Econumo logo at the top sit
two buttons: [Search](/docs/user-guide/search/) (also on **Ctrl+K** / **⌘K**)
and the [Inbox](/docs/user-guide/inbox/), whose badge counts what is waiting on
you.
Everything that is not day-to-day spending lives in **Settings**, in three
groups:
- **Finances** — [Accounts](/docs/user-guide/accounts/),
[Shared access](/docs/user-guide/shared-access/), **Budgets & Plans**, and
[Recurring transactions](/docs/user-guide/recurring-transactions/).
- **Classification** — [Categories, Tags, Payees](/docs/user-guide/classifications/)
and [Currencies](/docs/user-guide/currencies/).
- **Data** — **Import & export**, for
[CSV import and export](/docs/user-guide/csv-import-export/).
On desktop and tablet, open Settings from the bottom of the sidebar; on mobile,
from the bottom of the home screen. The card with your name at the top opens
your [Personal settings](/docs/user-guide/user-profile/), **Log out** sits
right under it, and the **API** link at the very bottom opens the
[API reference](/docs/api/) for your instance.
---
# Accounts
URL: https://econumo.com/docs/user-guide/accounts/
# Accounts
This section covers the basics of 'Accounts' in Econumo.
Accounts represent your accounts in financial institutions — for example,
"Savings account" or "Cash". Each account has its own currency, and accounts
are grouped into folders (such as "Personal" and "Family") that structure the
sidebar and the mobile home screen.
## In this section
- [Account creation](/docs/user-guide/accounts/#account-creation)
- [Managing your accounts](/docs/user-guide/accounts/#managing-your-accounts)
- [Organize accounts in folders](/docs/user-guide/accounts/#organize-accounts-in-folders)
- [Editing an account](/docs/user-guide/accounts/#editing-an-account)
- [Shared access](/docs/user-guide/accounts/#shared-access)
---
## Account creation
Open **Settings → Accounts** and press the **+** button on the folder you want
the account in. Specify the account name, current balance, currency, and icon.
The balance field comes with the same built-in calculator (`+`, `−`, `×`, `÷`,
`=`) as the [transaction dialog](/docs/user-guide/transactions/#adding-expenses).
**Note**
The starting balance is recorded as a regular transaction dated the day you
created the account, so your history starts consistent from day one.
---
## Managing your accounts
All your accounts are accessible via **Settings → Accounts**. This screen shows
every folder with its accounts, including the ones shared with you (marked with
the avatars of everyone who has access).
### Organize accounts in folders
Create folders with the **Create folder** button and drag accounts between them
using the dots handle next to their names. The folder structure is reflected in
the left sidebar on desktop and on the home screen on mobile.
Use the folder menu (the three dots on the folder row) to edit a folder's name,
move it up or down, or hide it. A hidden folder disappears from the main screen —
handy for accounts you rarely use — and can be shown again from the same menu.
### Editing an account
Open the account menu to edit or delete an account. On desktop and tablet,
click the three dots next to the account; on mobile, tap the account row to
open its details.
Editing lets you change the name, balance, currency, and icon. You can also
open the same dialog from the account page itself via the **Configure** button.
**Note**
Correcting the balance in the edit dialog records a compensating transaction
for the difference, so your transaction history always adds up.
---
## Shared access
If you are [connected with your partner](/docs/user-guide/shared-access/), you
can share access to specific accounts. On desktop and tablet, choose **Access
control** in the account menu — or press the **Access control** button inside
the edit-account dialog — then select the person and the access level.
Econumo offers three levels of shared access:
1. **View only** — the invited user can see only the balance and the
transaction list.
2. **Manage transactions** — the invited user can also add, update, or delete
transactions.
3. **Full control** — the invited user can manage all aspects of the account,
including adding categories, tags, and payees on your behalf.
Granting access doesn't add the account to your partner's account list right
away: Econumo sends them a **pending invite** instead of sharing it outright.
They accept it — choosing which folder to file the account under — or decline
it, from their [Inbox](/docs/user-guide/inbox/) — see
[Shared Access](/docs/user-guide/shared-access/#accept-or-decline-a-sharing-request).
Until they respond, the Access control dialog shows **invitation pending**
next to their name. Once accepted, the shared account shows the avatars of
everyone who can use it — both in the sidebar and in **Settings → Accounts**.
---
# Transactions
URL: https://econumo.com/docs/user-guide/transactions/
# Transactions
This section provides an overview of Transactions in Econumo.
Transactions form the core of Econumo, as all budgeting is based on the
transactions you enter. Open any account to see its transaction list, search
it, and add new records. To find a transaction across all your accounts at
once, use [Search](/docs/user-guide/search/) (**Ctrl+K** / **⌘K**).
The search field filters the transaction list as you type:
## In this section
- [Adding transactions](/docs/user-guide/transactions/#adding-transactions)
- [Adding expenses](/docs/user-guide/transactions/#adding-expenses)
- [Adding transfers](/docs/user-guide/transactions/#adding-transfers)
- [Adding income](/docs/user-guide/transactions/#adding-income)
- [Editing a transaction](/docs/user-guide/transactions/#editing-a-transaction)
- [Deleting a transaction](/docs/user-guide/transactions/#deleting-a-transaction)
**Note**
For payments that come back every month — rent, salary, a subscription — set up
a schedule once instead of typing them in again and again. See
[Recurring Transactions](/docs/user-guide/recurring-transactions/).
---
## Adding transactions
Press **Add transaction** on the account page (on mobile it is the button at
the bottom of the screen) to open the transaction dialog.
**Transaction date**
In the top-right corner of the dialog, you can set the transaction date (the
date you spent or earned the money). Clicking the date opens a calendar, and
the arrow next to it steps one day back. Note that transaction time is not
currently supported.
**Transaction types**
You can add one of the following transaction types:
- **Expense** (default option)
- **Transfer**
- **Income**
Each type has a different set of fields to complete.
---
### Adding expenses
To add an expense, pick the account, enter the amount, and choose a category —
that is all a record needs. Notes, a recipient, and tags are optional.
**Amount**
Enter the amount spent in the account's currency. The `+`, `−`, `×`, `÷`, and
`=` buttons under the amount field (also available as keyboard keys on
desktop) let you calculate the total right in the dialog — for example, add up
several receipt lines and press `=`.
**Categories**
Categories are optional — you can save an expense without picking one. Click
the category field to search your categories or create a new one: type a name
that does not exist yet and press "Enter" (or "Search"/"Submit" on your mobile
keyboard). The name must be 3–64 characters long.
**Note**
Leave a transaction uncategorized and it still counts toward your budget: it
shows up there as a read-only **Uncategorized** element instead of being left
out of the totals. See [Budgeting](/docs/user-guide/budgets/#budgeting).
**Recipients**
You can specify a recipient for each transaction — the name of a person or a
company where you spent the money. Like categories, recipients can be created
right from the dialog.
**Tags**
Tags group spending across categories. The **Tags** row lists both kinds side
by side, and they behave differently when you tap them:
- **Budget tags**, marked with `#`, are for a project or an event — in the
screenshots, the family tags its Italy vacation expenses with `Italy 2026`.
A transaction takes only one, so picking a second replaces the first.
- **Reporting tags** track who or what the money went on — a kid, a pet, a
second home. Toggle as many as apply.
Press the `+` button to create a new tag without leaving the dialog (3–64
characters); see
[Budget tags and reporting tags](/docs/user-guide/classifications/#budget-tags-and-reporting-tags)
for the difference in full.
**Notes**
The notes field allows you to add any comments related to the transaction.
---
### Adding transfers
Transfers move money between your accounts without affecting the budget:
**From/To**
Select the account **from** which you want to move money **to** another
account. The swap button next to the account fields switches the direction.
**Amount**
Enter the transfer amount. The same in-dialog calculator (`+`, `−`, `×`, `÷`,
`=`) is available. If the two accounts use different currencies, a second field
appears so you can record the exact amount received in the target currency:
**Notes**
The notes field allows you to add any comments related to the transfer.
---
### Adding income
Recording an income works just like an expense: pick the account, enter the
amount, and choose an income category (income categories are separate from
expense categories). You can also set a **sender** — the person or company you
received the money from.
---
## Editing a transaction
On desktop and tablet, open the three-dots menu on a transaction row and choose
**Edit**. On mobile, tap the transaction to see its details, then press
**Edit**.
The edit dialog is the same as the add dialog, pre-filled with the
transaction's data:
You can update any transaction in your own accounts, and in shared accounts
where you have at least **Manage transactions** access.
## Deleting a transaction
Choose **Delete** in the same menu (or in the details sheet on mobile) and
confirm. You can delete any transaction except transactions in view-only
accounts.
---
# Recurring Transactions
URL: https://econumo.com/docs/user-guide/recurring-transactions/
# Recurring Transactions
Rent, salary, subscriptions, an annual insurance premium — payments that repeat
on a schedule don't need re-typing every time. Set them up once in
**Settings → Recurring transactions**, and Econumo keeps track of when each one
is next due.
Econumo never posts anything behind your back. The next occurrence shows up on
the account page as **Not posted**; you confirm it when the money actually
moves, or skip it when it doesn't. Either way the schedule rolls forward to the
following date.
## In this section
- [Creating a recurring transaction](/docs/user-guide/recurring-transactions/#creating-a-recurring-transaction)
- [Posting or skipping a payment](/docs/user-guide/recurring-transactions/#posting-or-skipping-a-payment)
- [Editing and deleting a schedule](/docs/user-guide/recurring-transactions/#editing-and-deleting-a-schedule)
---
## Creating a recurring transaction
Open **Settings → Recurring transactions** and press **Add transaction** (on
mobile, the **+** button in the header). The dialog is the same one you use for
[ordinary transactions](/docs/user-guide/transactions/#adding-transactions),
with one extra field:
- **Type** — **Expense**, **Income**, or **Transfer**, chosen with the tabs at
the top.
- **Date** — in the top-right corner. This is the date of the *next* payment;
every following one is calculated from it.
- **Account**, **Amount** (with the same built-in calculator), **Category**,
**Recipient** (**Sender** on an income schedule), **Tags**, and **Notes** —
exactly as in a normal transaction.
- **Repeats** — how often the payment comes back: **Weekly**, **Every 2
weeks**, **Monthly**, **Every 3 months**, or **Yearly**.
The list groups your schedules by account, showing the category and interval,
your notes and recipient, the amount, and the date the next payment falls due.
**Note**
Schedules follow the account, not the person. On a
[shared account](/docs/user-guide/shared-access/) everyone with access sees the
same schedules and can post or skip them — in the screenshots, the rent and the
grocery run on the Joint Account appear in both John's list and Megan's.
Schedules on your own accounts stay private to you.
---
## Posting or skipping a payment
The next occurrence of every schedule appears in its account's transaction
list, greyed out and labelled **Not posted**. It is a placeholder: it does not
affect your balance until you confirm it.
A schedule that is due today or overdue is pinned to the top of the account's
**Today** group, ahead of today's real transactions — so it reads as
something still waiting on you, not as something that already happened. A
schedule that is still ahead of its next date is untouched: it stays grouped
further down the list, at its own future date.
Select that row to open its **Transaction details**, which repeats the
schedule's interval at the bottom and offers two actions:
- **POST** — records the payment as a real transaction. Your balance and budget
update, and the schedule moves on to the next date.
- **Skip** — the small step-over icon beside it. Passes on this occurrence
without recording anything, and moves the schedule on to the next date.
The row's own three-dots menu is not the place to look: on a **Not posted**
placeholder it offers only **Edit** and **Delete**, both of which act on the
schedule rather than on this occurrence.
**Note**
A payment that is due or overdue shows its date in red, both in the list and on
the account page — a quick way to spot what is waiting for you.
You can also post a payment straight from **Settings → Recurring
transactions**: choose **Post** in the schedule's three-dots menu (on mobile,
tap the row to open the bottom sheet). The review dialog opens with its date
chip pre-filled to today for a due or overdue schedule — not the missed
scheduled date — though you can still edit it; a schedule that isn't overdue
keeps pre-filling its own scheduled date, as before.
Payments that are due today or overdue also collect in your
[Inbox](/docs/user-guide/inbox/), across all your accounts, under
**Scheduled transactions**. Select one there to open the same **Transaction
details** with **POST** and **Skip**, without going to the account first.
---
## Editing and deleting a schedule
Use the three-dots menu next to a schedule — on mobile, tap the row — and
choose **Edit** to change any of its fields, or **Delete** to remove the
schedule altogether.
Editing a schedule changes future payments only; transactions you have already
posted stay exactly as they were. Deleting a schedule likewise leaves posted
transactions untouched — it only stops future ones from being suggested.
---
# Search
URL: https://econumo.com/docs/user-guide/search/
# Search
One search box finds anything in Econumo: accounts, categories, payees, tags,
reporting tags and transactions. Open it from anywhere with **Ctrl+K**
(**⌘K** on a Mac), or with the magnifying-glass button at the top of the
sidebar (on mobile, at the top of the home screen).
Before you type, the search lists your most recent transactions, newest first:
## In this section
- [Finding things](/docs/user-guide/search/#finding-things)
- [Acting on a result](/docs/user-guide/search/#acting-on-a-result)
---
## Finding things
Start typing and the results group by kind — **Accounts**, **Categories**,
**Payees**, **Tags**, **Labels** (reporting tags) and **Transactions** — with
the best matches first.
You don't have to spell things exactly: missing letters are forgiven, so
*grcries* still finds **Groceries**, along with the transactions filed under
it. Amounts work too — type a figure the way it is stored or the way it is
displayed.
The recent list leaves out transactions dated in the future, but a search
still finds them.
**Note**
The same matcher drives every picker you can type into — the category, payee,
account and currency pickers in the transaction dialog and elsewhere — so a
typo there finds the right item too.
---
## Acting on a result
Pick a category, payee or tag to list its transactions right inside the
search window. Results also carry a three-dots menu with the actions that fit
them — for a category, **Edit**, **Archive**, **Merge into…** and **Delete**,
the same as in [Settings → Categories](/docs/user-guide/classifications/) — so
you can tidy up a duplicate the moment you spot it.
---
# Inbox
URL: https://econumo.com/docs/user-guide/inbox/
# Inbox
The Inbox collects everything that is waiting on you in one place. Open it with
the tray icon at the top of the sidebar (on mobile, at the top of the home
screen); its badge shows how many things are waiting.
## In this section
- [Scheduled transactions](/docs/user-guide/inbox/#scheduled-transactions)
- [Sharing invites](/docs/user-guide/inbox/#sharing-invites)
With nothing pending, the page simply reads *"All caught up"*.
---
## Scheduled transactions
[Recurring transactions](/docs/user-guide/recurring-transactions/) that are
due today or overdue come first, across all your accounts. Each row shows the
schedule's category, interval, note, payee, amount and account, and when it
was due — *"Overdue · Aug 28"*.
Select a row to open its **Transaction details**, then:
- **POST** — records the payment as a real transaction, and the schedule
moves on to its next date.
- **Skip** — the step-over icon beside it — passes on this occurrence without
recording anything.
Either way the schedule moves on to its next date.
---
## Sharing invites
When someone shares an [account](/docs/user-guide/accounts/#shared-access) or
a [budget](/docs/user-guide/budgets/#shared-access) with you, the invite waits
in the **Sharing** group at the bottom of the Inbox, saying who invited you
and to what. **Accept** it — for an account, you first choose the folder to
file it under — or **Decline** it. See
[Shared Access](/docs/user-guide/shared-access/#accept-or-decline-a-sharing-request)
for the details.
---
# Classifications
URL: https://econumo.com/docs/user-guide/classifications/
# Classifications
This section introduces the basics of 'Classifications' in Econumo, including
**Categories**, **Tags**, and **Payees**. All three entities share similar
functionality:
- Create a new item.
- Update or delete an existing item.
- Merge a duplicate into another item.
- Archive or unarchive any item.
**Categories** answer "what kind of spending is this?" — they're optional on a
transaction, but picking one is what makes a budget useful. **Tags** cut
across categories to group related spending (a trip, a renovation, the dog).
**Payees** record who you paid or who paid you.
## In this section
- [Create a category, tag, or payee](/docs/user-guide/classifications/#create-a-category-tag-or-payee)
- [Budget tags and reporting tags](/docs/user-guide/classifications/#budget-tags-and-reporting-tags)
- [Update or delete](/docs/user-guide/classifications/#update-or-delete)
- [Merge duplicates](/docs/user-guide/classifications/#merge-duplicates)
- [Archive or unarchive](/docs/user-guide/classifications/#archive-or-unarchive)
- [Searching a long list](/docs/user-guide/classifications/#searching-a-long-list)
---
## Create a category, tag, or payee
To create a new item, go to **Settings → Categories / Tags / Payees** and press
**Create category** / **Create tag** / **Create payee** (on mobile, the **+**
button in the header). Expense and income categories are listed separately:
You will need to fill out a few fields, such as:
- **Type** (income/expense) — only for categories
- **Icon** — only for categories
- **Kind** (reporting/budget) — only for tags, see
[below](/docs/user-guide/classifications/#budget-tags-and-reporting-tags)
- **Name** (3–64 characters)
Payees need nothing but a name:
**Note**
You can also create categories, tags, and payees on the fly, right from the
[transaction dialog](/docs/user-guide/transactions/#adding-expenses) — no trip
to Settings required.
---
## Budget tags and reporting tags
Tags come in two kinds, and the **New tag** dialog asks which one you are
making before anything else:
- **Budget tag** — *"Plan a project or event. Only one tag per transaction."*
A vacation, a wedding, a renovation. Because a transaction can carry only
one, its spending adds up cleanly, so a budget tag gets a row in your
[budget](/docs/user-guide/budgets/) with a limit of its own. Budget tags are
marked with `#`.
- **Reporting tag** — *"Analyse what the money went on. Several tags per
transaction allowed."* A kid, a dog, a second home. A transaction can carry
as many as you like, so the totals deliberately overlap and take no part in
the budget maths. Reporting tags show up in their own
[Reporting tags block](/docs/user-guide/budgets/#reporting-tags) at the foot
of the budget page.
The Tags screen keeps the two apart in **BUDGET TAGS** and **REPORTING TAGS**
sections:
**Note**
A tag's kind is fixed when you create it and cannot be changed afterwards. If
you picked the wrong one, create the tag you meant and
[merge](/docs/user-guide/classifications/#merge-duplicates) the other into it.
---
## Update or delete
On desktop and tablet, click the three dots next to an item and select **Edit**
or **Delete**. On mobile, tap the item to open the same actions in a bottom
sheet.
Deleting an item will remove it from all transactions and budgets.
Use **Reorder list** to change the order in which items appear in pickers and
in the budget.
---
## Merge duplicates
Long-lived data collects duplicates: a "Groceries" and a "Food", two spellings
of the same shop. **Merge into…** in the same three-dots menu folds one into
another instead of deleting it and losing the history.
1. Open **Settings → Categories** (or **Tags**, or **Payees**).
2. Choose **Merge into…** in the duplicate's menu. On a phone the same dialog
arrives as a bottom sheet.
3. Pick the survivor from the list, or find it with the **Search** box. The
dialog spells out what will happen: *"All transactions from … will be
moved, and … will be deleted."*
4. Press **MERGE**.
Every transaction pointing at the duplicate is moved to the survivor, and the
duplicate is then deleted.
**Note**
Merging two categories also merges their budget rows: the planned amounts are
**added together** per period rather than thrown away. The dialog says so
before you commit — *"If the two sit in different envelopes, update your
budget first so you don't lose your planned amounts — limits are added
together when merging."*
---
## Archive or unarchive
You can archive items that are no longer relevant to you. Archived items won't
appear in the transaction dialog but will still be visible in the transaction
list, and in a budget if you've budgeted them or had any associated spending.
Use the switch on the right side of each element to archive or unarchive it.
The **Active only** toggle at the top of the list controls whether archived
items are shown.
---
## Searching a long list
Press the search icon next to the page heading to reveal a filter field —
handy once your list of categories, tags, or payees grows past a quick scan.
It filters the list as you type.
---
# Budgets
URL: https://econumo.com/docs/user-guide/budgets/
# Budgets
This section introduces the basics of 'Budgets' in Econumo.
Budgets enable you to implement a "Cash Stuffing" method, also known as the
envelope budgeting approach, which uses envelopes to manage spending.
The concept is straightforward: take a few envelopes, label each with an
expense category — such as groceries, rent, or car loan — and place the amount
of money you plan to spend in each envelope. This way, you set limits on your
spending for each category.
Econumo allows you to create virtual envelopes and allocate your funds
accordingly, so you can easily track how much money remains for each specific
category:
## In this section
- [Budget creation](/docs/user-guide/budgets/#budget-creation)
- [Update budget details](/docs/user-guide/budgets/#update-budget-details)
- [Manage your budget](/docs/user-guide/budgets/#manage-your-budget)
- [Budgeting](/docs/user-guide/budgets/#budgeting)
- [Savings accounts](/docs/user-guide/budgets/#savings-accounts)
- [Organizing your budget](/docs/user-guide/budgets/#organizing-your-budget)
- [Work with the budget](/docs/user-guide/budgets/#work-with-the-budget)
- [Comments](/docs/user-guide/budgets/#comments)
- [Budgets list](/docs/user-guide/budgets/#budgets-list)
- [Completing, duplicating and archiving a budget](/docs/user-guide/budgets/#completing-duplicating-and-archiving-a-budget)
- [Shared access](/docs/user-guide/budgets/#shared-access)
**Note**
To plan several months at once instead of one at a time, switch the budget to
its [Plan view](/docs/user-guide/plan/) with the **Budget** / **Plan** tabs
beside the months bar — the same budget laid out as a month-by-month sheet.
---
## Budget creation
Open **Settings → Budgets & Plans** and press **Create budget** (on mobile, the
**+** button in the header). Give the budget a name, pick its base currency,
and switch on the accounts that take part in it — the counter above the list
keeps track (*"3 of 5 included"*). Once accounts are in, **Savings accounts**
lets you mark some of them as
[savings](/docs/user-guide/budgets/#savings-accounts).
**Note**
Account membership is an explicit list, and a new budget starts with every
switch off — turn on the accounts you actually budget from. Budgets start from
the current month.
---
## Update budget details
Open your budget and press **Configure** in the top-right corner. On desktop it
opens **Budget settings** straight away; on a tablet or a phone it opens a
short menu — choose **Budget settings** there. In the dialog you can rename
the budget, change its currency, add or remove accounts, and choose which of
them are savings accounts:
An account that already carries transactions in past months of this budget
cannot be removed from it — taking it out would rewrite months you have
already closed. The dialog says so under the list.
The other entry in the tablet and phone **Configure** menu, **Edit
structure**, is described in
[Organizing your budget](/docs/user-guide/budgets/#organizing-your-budget).
---
## Manage your budget
The budget page has three sections, in the same order on every screen size:
- **Income** — what you expect to earn: **Planned**, **Received** and what
is still **To receive**.
- **Savings** — your [savings accounts](/docs/user-guide/budgets/#savings-accounts):
**Planned**, **Saved** and the **Balance** at month end.
- **Expenses** — what you plan to spend: **Budget**, **Spent** and
**Available**.
Underneath sit the totals for the month, ending with your **Balance at month
end**.
Inside the sections you work with these entities:
- **Budget Folders** — to organize your spending conveniently (in the
screenshots: _Essentials_, _Lifestyle_, _Vacations_).
- **Categories** — your Econumo categories.
- **Tags** — your budget [tags](/docs/user-guide/classifications/). These
aggregate spending across categories (e.g. the whole _Italy 2026_ vacation).
Reporting tags are not budgeted; they get
[their own block](/docs/user-guide/budgets/#reporting-tags) at the foot of
the page.
- **Envelopes** — these group several categories into one limit (e.g. an
envelope for _Food_ could contain _Groceries_, _Drinks_, and _Restaurants_).
Both Income and Expenses can hold envelopes.
---
### Budgeting
The goal of budgeting is to maintain your monthly budget. Ideally, you should
prepare your budget before the month starts and make minor adjustments during
the month as needed. The months bar at the top switches between periods — on
desktop and tablet the **‹** and **›** arrows beside it step through the
months — and the budget shows how much money remains in your virtual
envelopes. The bar is clamped to the budget's own lifetime: an open budget runs
well into the future, while a
[completed one](/docs/user-guide/budgets/#completing-duplicating-and-archiving-a-budget)
stops just past its final month.
Each expense row has three columns:
1. **Budget** — the amount you plan to spend this month. A small figure in
front of it, such as `-1,923.02 +`, is what is left from earlier months.
2. **Spent** — the amount you have actually spent.
3. **Available** — what is left: the budgeted amount plus anything carried
over. It shows as a green pill, or a red one when the row is overspent.
On desktop, click a number in the **Budget** column to change it. The amount
field takes the same calculator keypad (`+`, `−`, `×`, `÷`, `=`) as the
[transaction dialog](/docs/user-guide/transactions/#adding-expenses); press
**Save**. On a tablet or a phone, tap the row's figures to open its sheet and
press **Set budget**:
On a phone the budget is a single-month view. Each row shows **Budget** and
**Spent**, with a thin progress bar under it that turns red once spending runs
past the budget. Tap a row's figures to open its sheet: the month's figures,
the latest comment, **Transactions** to list what was spent, and **Set
budget** (**Set plan** on a savings row). The pencil icon in the sheet's
header edits the item itself. On a tablet, the desktop-style rows open the
same sheet when you tap their figures:
If a [transaction has no category](/docs/user-guide/transactions/#adding-expenses),
its amount still counts: it appears as a read-only **Uncategorized** line at
the end of the Income or Expenses section — no **Budget** or **Available**
figure, just the amount — instead of being silently left out. Assign a
category to those transactions and they move into the rows above.
---
### Savings accounts
Money you move into a savings account isn't spent — it's saved. Mark any of
the budget's accounts as savings in **Budget settings → Savings accounts**
(the **Savings** section's three-dots menu has a shortcut to the same list):
Each savings account gets its own row in the **Savings** section:
- **Planned** — how much you mean to put away this month.
- **Saved** — the account's whole net change for the month: transfers in and
out, interest and fees.
- **Balance** — the account's balance at the end of the month. For future
months it is projected from your plans.
The totals under the budget add a **Savings** line for the month and a **Total
savings** line for the combined balance.
The savings flag belongs to the budget, not to the account, so the same
account can be savings in one budget and everyday money in another. Turning an
account's savings flag off deletes the planned amounts and comments of its
savings row in this budget; the saved amounts and the transactions themselves
are not touched.
---
### Organizing your budget
You change the structure right on the budget page.
**On desktop**, hover a row: a drag handle appears on its left and a
three-dots menu beside its name. Drag rows and folders by the handle to
reorder them or move them between folders, and use the menus for everything
else.
**On a tablet or a phone**, press **Configure** and choose **Edit structure**.
Every row then shows its handle and three-dots menu; press **Done editing**
when you are finished.
The menus offer:
- **Income** and **Expenses** section headers — **Create folder**, **New
envelope**, **New category**.
- A **folder** — **New envelope**, **New category**, **Edit** (rename), and
**Delete folder**.
- A **category, tag or envelope** — **Edit**, **Change currency**, **Move to
folder…**, **Archive**, **Merge into…** and **Delete**.
An action you can't take right now is greyed out and says why — a folder that
still holds items reads **Delete folder (not empty)**, and an item you don't
own reads **(no access)**:
Items that are not in any folder collect under **No folder** at the end of
their section.
**Envelopes.** Choose **New envelope** in a section or folder menu. Pick a
name, currency, icon, and the categories you want to include:
Deleting an envelope releases its categories back into the budget.
**Element currency.** Each element can be budgeted in its own currency: open
the element's three-dots menu and choose **Change currency**. Amounts spent
and available for that element are converted automatically.
---
### Work with the budget
#### Tag and envelope breakdown
Tags and envelopes aggregate several categories. Expand one by clicking its
name to see where the money actually went:
#### Spending details
To see the transactions behind any number, click the amount in the **Spent**
column (on a phone, open the row's sheet and press **Transactions**):
#### Reporting tags
Below the expenses — under the **Uncategorized** line — sits a separate
**Reporting tags** block. It totals what you spent per
[reporting tag](/docs/user-guide/classifications/#budget-tags-and-reporting-tags)
in the month: people, pets, places. Expand the block by clicking its title,
and expand a single tag to see the categories behind its total.
These rows show a **Spent** figure only — no **Budget**, no **Available** — and
they sit outside the budget's totals. That is deliberate: a transaction can
carry several reporting tags at once, so its full amount counts under each of
them, and adding the block into the budget maths would count the same money
twice. Use it to answer "what did the dog cost us this month?", not "how much
is left to spend?".
#### Multi-currency budgets
Elements budgeted in a foreign currency are converted to the budget's currency
for folder and budget totals. See
[Multi-Currency](/docs/user-guide/multi-currency/#currency-in-your-budget) for
the full picture.
---
### Comments
Any budget cell — one item in one month — can carry a comment thread: a note
like "trip to Lisbon" or "new TV" that explains a number. A small coloured
triangle in the cell's corner marks the cells that have one; on desktop,
hovering it previews the latest comments.
Click the marker to open the thread, type in **Comment** (up to 500
characters), and press **Post**. On a phone, the row's sheet shows the latest
comment — tap **Comments (N)** to open the whole thread. In the
[Plan view](/docs/user-guide/plan/) you can also open a selected cell's thread
with **Shift+F2**.
Everyone with access to the budget can read the comments and add their own —
including people you shared it with as **View only**.
---
## Budgets list
You can access your budgets list at **Settings → Budgets & Plans**. Shared budgets show the avatars of everyone
who uses them, and the bookmark icon marks your default budget — the one that
opens from **Budget & Plan** in the sidebar. Budgets you have archived collapse
into an **Archived (N)** group at the bottom of the list:
---
## Completing, duplicating and archiving a budget
A budget does not have to run forever. Every budget's three-dots menu in
**Settings → Budgets & Plans** carries its whole life cycle: **Open budget**,
**Access control**, **Duplicate…**, **Complete…**, **Archive**, and **Delete**.
### Complete a budget
**Complete…** closes a budget off at a chosen month. Pick the **Last month** it
covers; leave **Continue in a copy starting this month** on to name and start
its successor in the same step, with **Copy plans** deciding whether the
planned amounts come along. Turn that switch off and the **Copy plans** and
**Name** fields disappear — the budget is simply closed, with no successor.
Press **SAVE** and the budget is archived straight away: it leaves the active
list immediately and joins the **Archived** group below it.
### Duplicate a budget
**Duplicate…** copies a budget on its own, without closing the original: its
structure, folders, envelopes, member accounts and sharing all come across. The
copy is pre-named after the original with *"(copy)"* appended, keeps **Copy
plans** on, and can **Start from this month** instead of the original's first
month.
### Archive and unarchive
**Archive** files a budget away without completing it. An archived budget stays
in the list under **Archived (N)** and stays fully browsable — opening it shows
a banner reading *"This budget is archived and read-only"*, and its numbers
stay exactly as they were. Its menu offers **Unarchive** in place of
**Archive**, which brings it back to the active list.
---
## Shared access
To budget together with your partner, you first need to
[connect with them](/docs/user-guide/shared-access/). Then open the budgets
list, click the three dots on the budget you wish to share, and select
**Access control**. Pick the person and the access level:
Econumo supports the following access levels for budgets:
- **View only** — you share your budget only for viewing.
- **Manage budget** — you and your partner can collaboratively manage this
budget and contribute to it together.
- **Full control** — like Manage budget, but your partner can also delete and
rename the budget.
As with accounts, this sends a **pending invite** rather than sharing the
budget outright — your partner accepts or declines it from their
[Inbox](/docs/user-guide/inbox/), as described in
[Shared Access](/docs/user-guide/shared-access/#accept-or-decline-a-sharing-request).
Once accepted, your partner sees the budget in their own budget list, and you
budget the same envelopes together — as John and Megan do with the "Family
budget" in the screenshots throughout this page.
---
# Plan
URL: https://econumo.com/docs/user-guide/plan/
# Plan
The [budget](/docs/user-guide/budgets/) shows one month at a time: what you
planned, what you spent, what is left. The **Plan** view shows the same budget
as a spreadsheet across several months — one row per envelope, category, tag
or savings account, one column per month — so you can put next spring's
holiday or an annual insurance premium into the plan long before the money
moves.
Both views belong to the same budget. Switching between them changes nothing
about your data; it only changes how much of the budget you are looking at.
## In this section
- [Opening the Plan view](/docs/user-guide/plan/#opening-the-plan-view)
- [Reading the sheet](/docs/user-guide/plan/#reading-the-sheet)
- [Planning a month](/docs/user-guide/plan/#planning-a-month)
- [Copying an amount forward](/docs/user-guide/plan/#copying-an-amount-forward)
- [Adding up a selection](/docs/user-guide/plan/#adding-up-a-selection)
- [The Balance row](/docs/user-guide/plan/#the-balance-row)
- [Keeping a long sheet readable](/docs/user-guide/plan/#keeping-a-long-sheet-readable)
---
## Opening the Plan view
Open your budget from **Budget & Plan** in the sidebar, then switch the
**Budget** / **Plan** tabs beside the months bar to **Plan**. The Plan view
works on desktop and on a tablet.
On a phone there is no grid: the budget stays a single-month view, and you
plan a month from each row's sheet — tap the row's figures and press **Set
budget** (**Set plan** on a savings row). See
[Budgeting](/docs/user-guide/budgets/#budgeting).
---
## Reading the sheet
Rows are the elements of your budget, in the structure you gave it, under the
same **Income**, **Savings** and **Expenses** sections as the budget view.
Each cell shows the amount actually spent or earned on the left, in small grey
type, next to the amount you planned. An actual figure that overshoots the
plan is shown in red. A blank cell means nothing is planned for that month and
nothing happened. On a savings row, the small figure is the account's balance
at the end of that month.
Click an actual figure to list that month's transactions behind it.
The **‹** and **›** arrows above the sheet move the visible window to earlier
and later months.
---
## Planning a month
The sheet works like a spreadsheet:
1. Click a cell to select it, or move to it with the arrow keys.
2. Type the amount, or press **F2** to edit the amount already there.
3. Press **Enter** to save, or **Escape** to leave the cell as it was.
**Delete** clears a cell's plan, and you can paste an amount copied from
elsewhere.
Income rows are planned exactly the same way — a planned salary is what makes
the projection at the foot of the sheet worth reading. A selected cell with a
[comment](/docs/user-guide/budgets/#comments) opens its thread with
**Shift+F2**.
---
## Copying an amount forward
Most plans repeat: the same rent, the same phone bill, month after month. When
a cell is selected, a small square appears at its bottom-right corner —
**Copy budget to the following months**. Drag it to the right to repeat that
amount across the months it covers.
---
## Adding up a selection
On desktop you can select several cells at once — drag across them,
**Shift**+click the far corner of a range, or **Ctrl**+click (**⌘**+click on a
Mac) to add single cells. A small label under the selection adds them up: how
many cells, their **Plan** total and their **Actual** total.
---
## The Balance row
The foot of the sheet sums each month: **Income**, **Expenses**, **Savings**
and **Total savings**, with the **Balance** row pinned underneath. Balance
rolls your money forward month by month, starting from your real account
balances, so each column shows what you would be left with by the end of that
month if the plan holds.
That is what makes planning ahead useful: put a two-week trip into next July and
you can see immediately what it does to the months after it.
---
## Keeping a long sheet readable
A budget with a few dozen elements makes for a tall sheet. A few things help:
- The **Income**, **Savings** and **Expenses** headers, and each folder
header, collapse with the chevron beside them. The Plan view remembers its
own folding, separately from the budget view.
- The **Σ** button on a section or folder header shows that group's sums on
its header row.
- Drag the right edge of the name column to make it wider or narrower;
double-click the edge to reset it.
---
# Shared Access
URL: https://econumo.com/docs/user-guide/shared-access/
# Shared Access
This section provides an overview of Shared Access in Econumo.
Econumo enables users to connect with each other to share access to various
accounts and budgets — the foundation for family budgeting. Connections are
managed in **Settings → Shared access**:
## In this section
- [Connect with another user](/docs/user-guide/shared-access/#connect-with-another-user)
- [Accept or decline a sharing request](/docs/user-guide/shared-access/#accept-or-decline-a-sharing-request)
- [Remove connection between users](/docs/user-guide/shared-access/#remove-connection-between-users)
- [Check shared accounts and budgets](/docs/user-guide/shared-access/#check-shared-accounts-and-budgets)
- [Access status](/docs/user-guide/shared-access/#access-status)
---
## Connect with another user
When you connect with another Econumo user, you aren't sharing anything yet.
You will specify which accounts and budgets to share later.
To connect, go to **Settings → Shared access** and press **Create invitation**.
You will get a short code that is valid for 5 minutes:
Ask your partner to open Econumo, navigate to **Settings → Shared access**,
press **Accept invitation**, and enter the code:
After the invitation is accepted, you will see each other in the connections
list, and you can start sharing
[accounts](/docs/user-guide/accounts/#shared-access) and
[budgets](/docs/user-guide/budgets/#shared-access).
---
## Accept or decline a sharing request
Sharing an account or budget with someone doesn't hand it over immediately —
Econumo sends a **pending invite** that the other person has to accept or
decline first. Invites land in your [Inbox](/docs/user-guide/inbox/) — the
tray icon at the top of the sidebar (on mobile, at the top of the home
screen), whose badge counts everything waiting on you. Sharing invites sit in
the **Sharing** group at the bottom of the Inbox, each one saying who invited
you and whether it is an **Account** or a **Budget**.
For each request:
- **Accept** — for an account, you first choose which folder to file it
under (or leave it in **General**, which is created automatically if it
doesn't exist yet); a budget is added straight to your budgets list.
- **Decline** — Econumo asks you to confirm, then the invite is dismissed.
While a request is still pending, the person who sent it sees
**invitation pending** next to your name in the Access control dialog.
**Note**
Connections and shares that already existed before this flow shipped keep
working without any action on your part — Econumo grandfathered them in as
already accepted.
---
## Remove connection between users
You can delete the connection between users at any time: open the three-dots
menu next to the connection and choose **Delete**. Econumo asks you to confirm
first, because this action removes all shared access for accounts and budgets
in both directions:
The connection's dialog (described below) also has a **Delete** button that
removes the connection the same way.
---
## Check shared accounts and budgets
To view everything you share with a user, choose **View** in the connection's
menu (on mobile, tap the connection). The dialog lists all shared budgets and
accounts, who owns each item, and the current access level:
Select an item in this dialog — this is also the way to manage access from a
phone. What opens depends on which side you're on:
- For something **you own**, you get an access-level picker where you can
change the level or press **Revoke access**.
- For something **shared with you**, you get a plain confirmation to
**Decline access** instead.
The dialog lists only items that are already shared; sharing a new account or
budget is done with **Access control**, as described in the
[Accounts](/docs/user-guide/accounts/#shared-access) and
[Budgets](/docs/user-guide/budgets/#shared-access) sections.
---
## Access status
Econumo can restrict an account to read-only — for example when a
trial period runs out.
Read access, including exporting your data, keeps working; adding or changing
anything is disabled until access is restored. A connection in this state
shows a **Read-only** badge (or a countdown, e.g. **Subscription ends in 5
days**) next to their name in **Settings → Shared access**, along with a
**Manage subscription** link where a billing portal is configured.
---
# Multi-Currency
URL: https://econumo.com/docs/user-guide/multi-currency/
# Multi-Currency
Econumo lets you keep accounts in different currencies and still budget across
all of them. Each account has one fixed currency; transfers between currencies
record both amounts, and your budget converts everything to a single currency
so the totals add up.
In the examples on this page, John's family keeps most accounts in US dollars
but also has a **Euro Cash** account they top up before travelling to Italy.
## In this section
- [Accounts in different currencies](/docs/user-guide/multi-currency/#accounts-in-different-currencies)
- [Cross-currency transfers](/docs/user-guide/multi-currency/#cross-currency-transfers)
- [Currency in your budget](/docs/user-guide/multi-currency/#currency-in-your-budget)
**Note**
Which currencies you can pick from is up to you: choose them in
**Settings → Currencies**, where you can also add
[a currency of your own](/docs/user-guide/currencies/#adding-your-own-currency)
with a rate you set. The currencies your server ships with, and how their
exchange rates are kept up to date, are configured by whoever runs your Econumo
instance — see [Multi-Currency Support](/docs/self-hosting/multi-currency/) in
the self-hosting docs.
---
## Accounts in different currencies
An account's currency is chosen when you
[create it](/docs/user-guide/accounts/#account-creation) and shown next to its
balance everywhere in the app. Every transaction on that account is entered in
the account's own currency — the Euro Cash account below is in EUR, so its
balance and all its transactions are in euros.
To spend from an account, add the transaction in that account's currency. To
move money between currencies, use a transfer.
---
## Cross-currency transfers
When you [transfer](/docs/user-guide/transactions/#adding-transfers) between two
accounts that use different currencies, Econumo shows **two amount fields** —
one for the source currency and one for the destination — so you can record
exactly what left one account and what arrived in the other. This keeps both
balances correct regardless of the rate your bank used.
In the Euro Cash account above, the "Transfer from John's Card" line is the
euro side of one such transfer — dollars left the card, euros arrived in the
cash account.
---
## Currency in your budget
A budget is kept in a single base currency — the code above the first column
of the budget, `USD` in the screenshots — but individual elements (categories,
tags, envelopes) can be budgeted in their own currency. Open the element's
three-dots menu and choose **Change currency**. On desktop the menu appears
when you hover the row; on a tablet or a phone, turn on **Configure → Edit
structure** first.
Spending in a foreign currency is converted to the budget's currency for folder
and budget totals.
**Note**
Conversions use the exchange rates loaded into your Econumo instance. If rates
look off, ask your administrator to refresh them (see
[Multi-Currency Support](/docs/self-hosting/multi-currency/)).
---
# Currencies
URL: https://econumo.com/docs/user-guide/currencies/
# Currencies
**Settings → Currencies** controls which currencies Econumo offers you when you
create an account, a budget, or a budget element. It holds two kinds of
currency:
- **Econumo currencies** — the ones that ship with your server. They are
available to everyone on the instance, and their exchange rates are managed
centrally and refresh automatically when the server has rate updates
configured.
- **My currencies** — currencies you add yourself. They are visible only to
you, and you set their exchange rate by hand.
## In this section
- [Choosing which currencies you see](/docs/user-guide/currencies/#choosing-which-currencies-you-see)
- [Adding your own currency](/docs/user-guide/currencies/#adding-your-own-currency)
- [Editing or deleting a custom currency](/docs/user-guide/currencies/#editing-or-deleting-a-custom-currency)
---
## Choosing which currencies you see
A server can carry a long list of currencies, and you probably use two or
three. The switch next to each Econumo currency turns it on or off for your
account: only the currencies you keep enabled appear in the currency picker
when you [create an account](/docs/user-guide/accounts/#account-creation) or
budget. **Disable all** clears the list in one go, and the search field at the
top helps you find a currency in a long list.
**Note**
Your [default currency](/docs/user-guide/user-profile/#how-to-change-your-default-currency)
cannot be switched off — its toggle stays on and greyed out. Change the default
in your profile first if you want to retire that currency.
---
## Adding your own currency
Anything you count in units Econumo doesn't know about — loyalty points,
airline miles, a local voucher scheme, a cryptocurrency your server doesn't
carry — can become a currency of your own. Press **Create currency** and fill
in:
- **Name** — how the currency is labelled, e.g. "Points".
- **Code** — a short code, e.g. `PTS`.
- **Symbol** — what is shown next to amounts. Optional; the code is used when
you leave it empty.
- **Decimal places** — the slider sets how many decimals amounts carry
(2 by default; set it to 0 for something counted in whole units, like miles).
- **Exchange rate** — how many units of your currency one unit of your default
currency is worth, entered as `1 USD = …`.
Your custom currency then behaves like any other: you can open an account in
it, and pick it for a budget or a single budget element. In the
screenshots throughout this guide, John's "Airline Miles" account uses a custom
**PTS** currency worth 10 to the dollar.
**Note**
A custom currency's rate is fixed — Econumo never updates it for you. If the
real rate moves and it matters to you, edit the currency to bring the number up
to date.
---
## Editing or deleting a custom currency
Open the three-dots menu next to a currency under **My currencies** and choose
**Edit** or **Delete**. Econumo currencies can only be switched on and off —
their details belong to the server, not to you.
---
# User Profile
URL: https://econumo.com/docs/user-guide/user-profile/
# User profile
This section provides an overview of user profiles in Econumo.
## In this section
- [Accessing your user profile](/docs/user-guide/user-profile/#accessing-your-user-profile)
- [Updating your user profile](/docs/user-guide/user-profile/#updating-your-user-profile)
- [How to change your name](/docs/user-guide/user-profile/#how-to-change-your-name)
- [How to change your email](/docs/user-guide/user-profile/#how-to-change-your-email)
- [How to change your avatar](/docs/user-guide/user-profile/#how-to-change-your-avatar)
- [How to change your password](/docs/user-guide/user-profile/#how-to-change-your-password)
- [How to change your default currency](/docs/user-guide/user-profile/#how-to-change-your-default-currency)
- [How to change the interface language](/docs/user-guide/user-profile/#how-to-change-the-interface-language)
- [Sign-in methods](/docs/user-guide/user-profile/#sign-in-methods)
- [Sessions](/docs/user-guide/user-profile/#sessions)
- [API tokens](/docs/user-guide/user-profile/#api-tokens)
- [Connected apps](/docs/user-guide/user-profile/#connected-apps)
- [Privacy](/docs/user-guide/user-profile/#privacy)
---
## Accessing your user profile
Open **Settings** and select the card with your name at the top of it — it is
labelled **Personal settings**, and so is the page it opens. The page shows
your personal details, preferences, security and privacy settings. To sign
out, press **Log out**: it sits under that card on the Settings page and at the
top of Personal settings.
---
## Updating your user profile
### How to change your name
Type the new name in the "Name" field and tap outside it — the change is saved
automatically.
### How to change your email
Choose **Change email** in the Security section, enter your **New email** and
**Current password**, and press **Send confirmation code**. Econumo emails a
code to the new address to confirm you own it before the change takes effect;
your old address gets a notice, and every other session is signed out.
### How to change your avatar
Click your avatar on the profile screen to open the avatar picker. Choose a
color and an icon, then press **Save**. Your avatar is shown to everyone you
[share](/docs/user-guide/shared-access/) accounts and budgets with.
### How to change your password
Choose **Change password** in the Security section. Enter your current
password, then the new one twice:
**Note**
On a self-hosted instance with password sign-in turned off
(`ECONUMO_PASSWORD_LOGIN=false`), neither **Change password** nor **Set a
password** appears here — every sign-in goes through a linked provider
instead.
### How to change your default currency
The **Currency** preference in the Preferences section sets your default
currency in Econumo.
### How to change the interface language
The **Language** preference sits right below **Currency**. Open it and pick one
of the 11 available languages — English, Deutsch, Español, Français, Italiano,
Nederlands, Polski, Português, Русский, Українська, and 简体中文. The same
dialog is available from the language badge on the sign-in and sign-up screens,
before you have an account.
---
## Sign-in methods
**Security → Sign-in methods** lists the external accounts you can use to sign
in instead of a password — Google, Apple, or a custom OpenID Connect provider,
whichever your Econumo instance enables. Each provider your instance turns on
appears here with a **LINK** button.
Press **LINK** to connect a provider: Econumo hands you off to it to confirm
it's you, then brings you back with the provider listed as linked, its button
now reading **UNLINK**. From then on you can sign in either with your password
or with that provider.
**Note**
Unlinking is the same button in reverse. If a linked provider is the *only*
way into your account, Econumo won't let you remove the last one. For a
passwordless account, set a password first from **Change password**. On an
instance with password sign-in turned off, a stored password no longer counts
as a way in either, so the last remaining provider can't be unlinked at all —
the button is disabled with a note explaining why.
Linking or unlinking a provider emails you a notice, so gaining or losing a
way into your account never happens without you knowing.
---
## Sessions
**Security → Sessions** lists every device currently signed in to your account,
with the browser and operating system it was identified as and when it was last
active. Your current session is marked **Current**.
Press **Revoke** next to a session to sign that device out, **Sign out** to end
the session you are using right now, or **Sign out other devices** to end every
session except the current one.
**Note**
If you spot a session you do not recognise, revoke it and
[change your password](/docs/user-guide/user-profile/#how-to-change-your-password).
---
## API tokens
Econumo has a [REST API](/docs/api/), and personal access tokens are how you
authenticate against it — handy for scripts, home-automation dashboards, or any
integration of your own. Open **Security → API tokens** to manage them.
Press **Create token**, give it a name that will remind you what it is for
(for example, "Home Assistant"), and choose when it expires: **30 days**,
**90 days**, **365 days**, a **custom date**, or **never**.
**Note**
A personal access token grants full access to your account over the API — treat
it like a password. Create a separate token per integration so you can revoke
one without breaking the others.
The same tokens also authenticate Econumo's built-in MCP server. Claude and
Codex no longer need one — they sign in through the browser, see
[Connected apps](/docs/user-guide/user-profile/#connected-apps) — but a token
still works for any MCP client that can't.
---
## Connected apps
Econumo has a built-in MCP server, so an AI assistant such as Claude or Codex
can check your balances and budgets or log transactions for you, straight from
a chat. Connecting one takes only your Econumo address — there is no token to
create or paste.
Open **Security → Connected apps**. The page shows the address to use — for
Econumo, `https://app.econumo.com/mcp` — with a **Copy** button beside it:
1. In Claude (on the web, desktop or mobile), Claude Code or Codex, add a
custom connector — an MCP server — with that address.
2. The app opens Econumo in your browser. Sign in if you are asked to.
3. Econumo asks you to **Allow** the app access to your account. An app you
allow can read and change all of your Econumo data.
Every app you have allowed is listed on the same page, with when it was
connected and when it was last used. **Revoke** signs an app out right away.
**Note**
On a self-hosted server, connecting by address needs `ECONUMO_URL` set to the
server's public **https** address, with no path. Without it, Connected apps
reads *"Connecting AI apps isn't available on this server"* and the MCP server
accepts [API tokens](/docs/user-guide/user-profile/#api-tokens) only. Claude
on the web, desktop and mobile connects from Anthropic's servers, so for those
the server must be reachable from the internet; Claude Code and Codex only need
to reach it from your computer.
---
## Privacy
The **Privacy** section, below Security, holds a single switch: **Share usage
statistics**.
Sharing is on by default. Switching it off stops Econumo from sending
in-app usage events right away — no page reload needed, and the setting
follows your account across devices.
**Note**
Turning usage sharing off never touches your budgets, transactions, or any
other data in your account. Financial data and personal information such as
your name or email are never sent either way, whichever way the switch is
set.
---
# CSV Import & Export
URL: https://econumo.com/docs/user-guide/csv-import-export/
# CSV Import & Export
This section provides an overview of 'CSV Import & Export' in Econumo.
## In this section
- [Exporting your transactions to CSV](/docs/user-guide/csv-import-export/#exporting-your-transactions-to-csv)
- [Importing transactions from CSV](/docs/user-guide/csv-import-export/#importing-transactions-from-csv)
---
## Exporting your transactions to CSV
You can export your transactions to a CSV file for use in other applications
or for backup purposes.
To export your transactions:
1. Navigate to **Settings → Import & export**.
2. Click on **Export CSV**.
3. Select the account(s) you want to export transactions from.
4. Click **Export** to download the CSV file.
---
## Importing transactions from CSV
Econumo allows you to import transactions from a CSV file. This is useful for
migrating data from other financial applications or for bulk adding
transactions.
CSV import requires the CSV file to be in a specific format. It must be
comma-separated values and include the following columns: Date, Amount, and
Account name. Optional columns are: Category, Description, Tags, and Payee
(Sender/Recipient).
The "Amount" column should contain positive values for income and negative
values for expenses. Alternatively, you can choose to import data from two
columns, "Inflow" and "Outflow," instead of "Amount".
To import transactions from a CSV file:
1. Navigate to **Settings → Import & export**.
2. Click on **Import CSV**.
3. Choose the CSV file you want to import (up to 10 MB).
4. Map the CSV columns to the corresponding fields in Econumo — the required
fields (Account, Date, Amount) are marked with an asterisk.
5. Click **Import** to add the transactions to your account.
**Note**
Example CSV format:
```csv
account_name,category,description,tag,payee,amount,spent_at
"Credit Card",Groceries,,,Costco,-500,"2026-01-04 13:01:32"
"Credit Card",Gas,,,Chevron,-50,"2026-01-04 13:01:51"
"Credit Card",Gifts,,,Costco,-100,"2026-01-04 13:03:51"
"Credit Card","Car Service",,car,,-150,"2026-01-04 13:04:51"
Cash,,,,,500,"2026-01-04 12:59:09"
Cash,Salary,,,,5000,"2026-01-04 13:02:17"
Cash,,"Transfer of 1000 USD to Savings",,,-1000,"2026-01-04 13:04:07"
Savings,,"Transfer of 1000 USD from Cash",,,1000,"2026-01-04 13:04:07"
Savings,,,,,20000,"2026-01-04 13:01:01"
```
---
# Apple Wallet
URL: https://econumo.com/docs/user-guide/apple-wallet/
# Apple Wallet
Connect Apple Wallet to Econumo to record purchases when you tap your iPhone
to pay with Apple Pay. An iPhone Shortcut sends the card name, merchant,
amount, and currency directly to Econumo.
## In this section
- [Before you start](#before-you-start)
- [Set up on iOS 26 or iOS 27](#setup)
- [1. Install the Shortcut](#1-install-the-shortcut)
- [2. Connect the Shortcut](#2-connect-the-shortcut)
- [3. Create the automation](#3-create-the-automation)
- [iOS 26](#ios-26)
- [iOS 27](#ios-27)
- [4. Make the first payment](#4-make-the-first-payment)
- [5. Switch the automation to Run Immediately](#5-switch-the-automation-to-run-immediately)
- [Map your cards to accounts](#map-your-cards-to-accounts)
- [Troubleshooting](#troubleshooting)
## Before you start
You will need an iPhone running **iOS 26 or iOS 27**, Apple Pay set up with a payment
card, and the **Shortcuts** app, which comes with iOS. Allow about five minutes
for setup; the first payment needs to happen at a payment terminal.
Open Econumo on your iPhone and go to **Settings → Apple Wallet**. Tap
**Set up Apple Wallet** to open the five-step checklist. Keep it available
so you can return to it as you switch between Econumo and Shortcuts.
This integration works when you **tap your iPhone to pay**. Apple Pay
payments on websites aren't supported.
---
## Setup
The five setup steps are the same on both versions. The redesigned Shortcuts
app on iOS 27 changes how you create the automation in **step 3** and enable
automatic runs in **step 5**; follow the instructions for your iOS version
in those steps. Screenshots for the shared steps were taken on iOS 26.
Keep confirmation enabled until the first payment has reached Econumo and
you have granted the requested permissions: **Run After Confirmation** on
iOS 26, or **Confirm Before Run** on iOS 27.
### 1. Install the Shortcut
In Econumo's setup checklist, open the **econumo** Shortcut link under
**Install the Shortcut**. In Shortcuts, tap **Add Shortcut**. The yellow
**econumo** tile will appear in your library.
Return to Econumo and tap **Done** under step 1.
### 2. Connect the Shortcut
Tap **Connect the Shortcut** in Econumo. This creates an API token and opens
the Shortcut, which saves your Econumo server address and token.
When iOS asks whether **econumo** can send data to your Econumo server,
choose **Always Allow**. Use **Always Allow** for each data-access prompt
that offers it, so future payments can be sent without asking again. If
Shortcuts asks to display notifications, tap **Allow**.
Wait for the **Econumo configured** notification, then return to Econumo.
The checklist advances once the Shortcut has reached your server.
### 3. Create the automation
#### iOS 26
1. Open **Shortcuts** and select the **Automation** tab.
2. Tap **New Automation**, or **+** if you already have automations.
3. Find and select **Wallet**.
4. Select the payment cards and purchase categories you want to import.
Select every category if you want all purchases from those cards. Leave
**Filter Merchants** unset unless you want to limit which merchants trigger
the automation.
5. Select **Run After Confirmation**, then tap **Next**.
6. Under **My Shortcuts**, select **econumo**. The automation now appears
in the Automation tab.
Return to Econumo and tap **Done** under step 3.
#### iOS 27
1. Open **Shortcuts**. If you are in **All Shortcuts**, tap the back arrow
to return to **Library**.
2. Select **Automation** in Library.
3. Tap **+** at the bottom to create an automation.
4. On the **New Shortcut** screen, tap **Edit** in the top-right corner.
5. Tap the **Search** field at the bottom and search for **Wallet**.
6. Choose **Wallet** under **Automation**, with the description
**When I tap a Wallet Card or Pass**.
7. Tap **Any Card** to choose the cards to import, or leave it as **Any Card**
to include all cards. Leave **Categories** and **Merchants** as
**Any Category** and **Any Merchant** to include all purchases from those
cards. Keep **Automation**, **Notify**, and **Confirm Before Run** on
for the first payment.
8. Search for **Run Shortcut** and add that action.
9. In the new action, tap the blue **Shortcut** placeholder and choose
**econumo**.
10. Expand the **Run econumo** action using its blue arrow if needed.
Tap **Choose Variable** beside **Input** and select **Transaction**.
11. Check that the action reads **Run econumo** with **Input: Transaction**,
then tap the back arrow. The new automation appears in the Automation
list with its switch on.
Set the input to **Transaction** so Econumo receives the Wallet payment
details when the automation runs.
Return to Econumo and tap **Done** under step 3.
### 4. Make the first payment
Make a purchase by tapping your iPhone to pay with one of the cards you
selected. When the automation asks, tap **Run**.
The first payment may bring up additional permission prompts. Choose
**Always Allow** on every prompt that offers it, including permission to
send the transaction to your Econumo server.
Return to Econumo and wait for the payment to arrive. Step 4 completes
automatically when Econumo receives it. The card will also appear under
**Cards**, where you can [map it to an account](#map-your-cards-to-accounts).
### 5. Switch the automation to Run Immediately
After the first payment has reached Econumo:
#### On iOS 26
1. Open **Shortcuts → Automation** and tap your Wallet automation.
2. Tap **Run After Confirmation** beside **Automation** at the top.
3. Choose **Run Immediately**.
4. Leave **Notify When Run** off if you don't want a notification each time
the automation runs, then tap **Done** to save.
#### On iOS 27
1. Open **Shortcuts → Library → Automation** and open the Wallet automation
you created. It may be named **Run Shortcut**.
2. Turn off **Confirm Before Run** if it is shown, then turn off **Notify**.
Keep **Automation** on. The final settings should look like the screenshot
below, with **Automation** on and **Notify** off.
3. Tap the back arrow to return to the Automation list.
Return to Econumo and tap **Done** under step 5 to finish the checklist.
This completes **Switch the automation to Run Immediately** in Econumo's
checklist on either version of iOS.
Future payments that match your selected cards, categories, and merchant
filters will be sent to Econumo without a confirmation prompt.
---
## Map your cards to accounts
In **Econumo → Settings → Apple Wallet**, find the card under **Cards**.
Choose **Map**, select the Econumo [account](/docs/user-guide/accounts/)
that represents that card, and confirm. Payments waiting for that card can
then be imported into the account, along with future payments.
Each newly used card needs its own mapping. Cards with the same name in
Wallet appear as one card in Econumo. Choose **Ignore** for a card you don't
want to import, or **Remap** to change its destination account later.
## Troubleshooting
- **The first payment hasn't arrived:** check that the automation uses the
**econumo** Shortcut, includes the card and category you paid with, and
doesn't exclude the merchant. While confirmation is enabled, you must
tap **Run** after paying and grant the requested permissions. On iOS 27,
also check that **Run econumo** has **Transaction** selected as its input.
- **The card appears, but the payment isn't in an account:** map the card to
an Econumo account under **Settings → Apple Wallet**.
- **Every payment still asks for confirmation:** complete step 5 and save
the automation with **Run Immediately** selected on iOS 26, or confirmation
disabled on iOS 27.
- **You need to connect the Shortcut again:** use **Configure again** in
Econumo's setup guide and follow the checklist. Connecting again replaces
the token; open the Shortcut from the new connection link before expecting
further imports.
For more about the Wallet trigger, see Apple's
[Shortcuts User Guide for iOS 26](https://support.apple.com/en-mide/guide/shortcuts/apd65c67538a/9.0/ios/26).
For the redesigned Shortcuts app, see
[Add automations on iOS 27](https://support.apple.com/en-mide/guide/shortcuts/apdfbdbd7123/10.0/ios/27).
---
# Econumo apps
URL: https://econumo.com/docs/apps/
# Econumo apps
Econumo is a web application, but you can also use it as a regular mobile application on your iPhone, Android device, Mac, or PC.
---
## On iPhone:
1. Open the website [https://app.econumo.com](https://app.econumo.com) in Safari.
2. Tap the Share button (square with an upward arrow).
3. Select `Add to Home Screen` from the menu.
4. Rename the shortcut if desired, then tap `Add`. The web app will appear on your home screen and open in its own instance.
---
## On Android:
1. Open the website [https://app.econumo.com](https://app.econumo.com) in Google Chrome.
2. Tap the three-dot menu in the top-right corner.
3. Select `Add to Home Screen` or `Install App` (if available).
4. Confirm by tapping `Add`. The web app will now appear on your home screen and function like an app.
---
## On Mac
1. Open the website [https://app.econumo.com](https://app.econumo.com) in Safari.
2. Click `File > Add to Dock` from the menu bar, or click the share icon in the Safari toolbar and select `Add to Dock`.
3. Confirm by clicking `Add`. The web app will appear in your Dock, Applications folder, and Launchpad for easy access.
---
## On PC
1. Open the website [https://app.econumo.com](https://app.econumo.com) in Microsoft Edge.
2. Click the three-dot menu in the top-right corner.
3. Go to `Apps > Install this site as an app`.
4. Confirm by clicking `Install`. The web app will be added to your Start menu and can also be pinned to your taskbar or desktop.
---
# Self-Hosting
URL: https://econumo.com/docs/self-hosting/
# Self-Hosting
**Econumo Self-Hosted** gives you full control over your financial data by running Econumo on your own infrastructure. This section offers guidance and resources to help you manage and optimize your Econumo Self-Hosted instance.
---
## Contents
- [Multi-Currency Support](/docs/self-hosting/multi-currency/)
- [Backups](/docs/self-hosting/backups/)
- [CLI commands](/docs/self-hosting/cli-commands/)
- [Debug](/docs/self-hosting/debug/)
---
# Multi-Currency support
URL: https://econumo.com/docs/self-hosting/multi-currency/
# Multi-Currency Support
Econumo offers multi-currency functionality. To get started, you need to:
1. Load the currencies you use into your Econumo instance.
2. Set up regular exchange-rate updates (if needed).
---
## How to add a new currency
Econumo preloads **USD** by default (or whatever you set as
`ECONUMO_CURRENCY_BASE`). To use another currency, add it with the
`currency:add` command — pass the ISO code, and optionally a display name and
the number of fraction digits:
```sh
docker compose exec econumo /app/econumo currency:add EUR Euro 2
```
If you want to add several currencies and keep exchange rates up to date, see
the next step.
---
## How to update exchange rates
To keep exchange rates current:
1. Create a free account at [Open Exchange Rates](https://openexchangerates.org).
2. Obtain your App ID from the Open Exchange Rates dashboard.
3. Set the `OPEN_EXCHANGE_RATES_TOKEN` environment variable in your `.env` and
restart the container.
4. Run the update command (it accepts an optional `YYYY-MM-DD` date, defaulting
to today):
```sh
docker compose exec econumo /app/econumo currency:update-rates
```
To keep rates fresh, schedule this command from a cron job on the host, e.g.
once a day.
Econumo's base currency defaults to USD and is configurable with the
`ECONUMO_CURRENCY_BASE` environment variable. Note that a free Open Exchange
Rates account only supports USD as its base currency, so keep the base at USD
unless you have a paid plan. The **base currency is not your default
currency** — it is used only for conversions.
For example, if you have most of your accounts in CAD (Canadian Dollar) and one savings account in USD and another in EUR, currency conversions will occur in two scenarios:
1. When you transfer money from your CAD account to your USD/EUR accounts.
2. In your budget, if you choose to convert your spending to other currencies.
Econumo will use the following conversions:
1. CAD ↔ USD directly.
2. CAD → USD (base) → EUR and EUR → USD (base) → CAD
Converting using the base currency usually results in minimal or no difference compared to direct conversions.
---
# Backups
URL: https://econumo.com/docs/self-hosting/backups/
# Backups
Econumo does not come with a built-in backup mechanism; it is your
responsibility to configure backups for your instance.
By default Econumo stores its data in a single SQLite file, so backups are
easy. In the Docker setup that file lives in the `db` volume at
`/app/var/db/db.sqlite` (the path your `DATABASE_URL` points to). The `jwt`
volume (`/app/var/jwt`) holds the JWT keypair — back it up too, or existing
login tokens become invalid after a restore.
**Note**
Always take a manual backup before upgrading your Econumo version, and store a
copy on a separate device.
---
## Simple file copy
The most reliable backup is a copy of the database file taken while nothing is
writing to it. Stop the container, copy the file, and start it again:
```sh
docker compose stop econumo
docker run --rm -v econumo_db:/data -v "$PWD":/backup alpine \
cp /data/db.sqlite /backup/db-$(date +%F).sqlite
docker compose start econumo
```
(Replace `econumo_db` with your actual volume name — check `docker volume ls`.)
For a scheduled version, run the same copy from a cron job. A short pause while
the container is stopped is fine for a personal instance.
---
## Litestream (continuous replication)
[Litestream](https://litestream.io/getting-started/) streams SQLite changes to
object storage (S3, Cloudflare R2, …) continuously, so you never lose more than
a few seconds of data. It requires the database to be in WAL mode.
**WARNING!**
Econumo runs SQLite with a single pinned connection and does not enable WAL
mode itself. Enabling WAL for Litestream is an advanced setup: take a backup
first, and test a restore before relying on it.
1. Take a manual backup (see above).
2. Enable WAL mode on the database file (one-off; the setting is stored in the
file). With the container stopped, run it against the copied file, e.g.
`sqlite3 db.sqlite 'PRAGMA journal_mode=WAL;'`, then put it back.
3. Create a `litestream.yml` next to your `docker-compose.yml`:
```yml
dbs:
- path: /data/db.sqlite
replicas:
# Example for Cloudflare R2:
- type: s3
endpoint: https://.r2.cloudflarestorage.com
bucket: backup-econumo-sqlite
```
4. Provide the credentials to the Litestream service (via its own environment):
```
LITESTREAM_ACCESS_KEY_ID=
LITESTREAM_SECRET_ACCESS_KEY=
```
5. Add Litestream as a sidecar sharing the `db` volume:
```yml
services:
econumo:
image: ghcr.io/econumo/econumo:latest
env_file:
- .env
ports:
- "8181:80"
volumes:
- db:/app/var/db
- jwt:/app/var/jwt
restart: unless-stopped
litestream:
image: litestream/litestream:latest
environment:
- LITESTREAM_ACCESS_KEY_ID
- LITESTREAM_SECRET_ACCESS_KEY
volumes:
- db:/data
- ./litestream.yml:/etc/litestream.yml
command: replicate
restart: unless-stopped
depends_on:
- econumo
volumes:
db:
jwt:
```
6. Restart the stack: `docker compose pull && docker compose down && docker compose up -d`
7. Verify that replication is working and practice a restore.
---
## PostgreSQL
If you run Econumo on PostgreSQL instead of SQLite (set `DATABASE_URL` to a
`postgres://…` URL), use your usual PostgreSQL backup tooling — for example a
scheduled `pg_dump` — instead of the SQLite steps above.
---
# CLI (terminal) commands
URL: https://econumo.com/docs/self-hosting/cli-commands/
# CLI (terminal) commands
Econumo ships as a single binary that is subcommand-driven: `serve` runs the
server, and everything else is a management command. In the Docker image the
binary lives at `/app/econumo`, so you run commands with `docker exec`:
```sh
docker compose exec econumo /app/econumo [args]
```
Running the binary with no command (or an unknown one) prints the full usage,
so `docker compose exec econumo /app/econumo` is the quickest way to see what
is available on your version.
**Note**
The image is distroless — it has no shell. Run the `/app/econumo` binary
directly as shown above; `docker compose exec econumo bash` will not work.
---
## User management
```sh
# Create a user
docker compose exec econumo /app/econumo user:create ""
# Change a user's email
docker compose exec econumo /app/econumo user:change-email
# Change a user's password
docker compose exec econumo /app/econumo user:change-password
# Activate or deactivate a user
docker compose exec econumo /app/econumo user:activate
docker compose exec econumo /app/econumo user:deactivate
```
---
## Currencies
```sh
# Add a currency: code, optional name, optional fraction digits
docker compose exec econumo /app/econumo currency:add EUR Euro 2
# Load exchange rates from Open Exchange Rates (optional date, defaults to today)
docker compose exec econumo /app/econumo currency:update-rates
```
See [Multi-Currency Support](/docs/self-hosting/multi-currency/) for the full
setup, including the `OPEN_EXCHANGE_RATES_TOKEN` variable.
---
## Maintenance
```sh
# Generate the RS256 JWT keypair (skips if one already exists; --force overwrites)
docker compose exec econumo /app/econumo jwt:generate
```
**Note**
The JWT keypair is generated automatically on first boot and persisted in the
`jwt` volume (`/app/var/jwt`), so you normally never need to run
`jwt:generate` by hand.
---
# Debug Econumo
URL: https://econumo.com/docs/self-hosting/debug/
# Overview
Econumo uses the following HTTP response codes:
1. **HTTP 2xx** — everything is fine.
2. **HTTP 4xx** — an error in the user's input.
3. **HTTP 5xx** — a server error.
Every response also carries an `X-Request-Id` header (a UUID). When reporting a
problem, include it — it lets you find the exact request in the logs.
---
## Reading the logs
Econumo writes structured logs to standard output, so you read them with
Docker rather than from a file inside the container:
```sh
docker compose logs -f econumo
```
Each request produces one result line (the operation name, its `status`,
`route`, and `request_id`), logged at `INFO` for 2xx, `WARN` for 4xx, and
`ERROR` for 5xx and recovered panics.
---
## How to debug 5xx errors
If you hit a **500** response, find the matching `ERROR` line in the logs by its
`request_id`. To get more detail, raise the log level and, on a non-public
instance, expose stack traces in the response body:
```dotenv
# in your .env
ECONUMO_LOG_LEVEL=debug
ECONUMO_DEBUG=true
```
Restart the container to apply. `ECONUMO_DEBUG=true` includes the stack trace in
the 500 response envelope — useful while debugging, but leave it off (the
default) on a public instance so internals aren't exposed.
**Note**
The image is distroless and has no shell, so you cannot `exec` into the
container to `tail` a log file. Use `docker compose logs` as shown above.
---
# Econumo API
URL: https://econumo.com/docs/api/
# Econumo API
Econumo includes a REST API and OpenAPI (Swagger) documentation.
The Swagger UI is accessible at the `api/doc` URL. For example: [https://app.econumo.com/api/doc/](https://app.econumo.com/api/doc/).
The documentation features only `GET` and `POST` HTTP methods. The `GET` method is used for reading data, while the `POST` method is used for modifying data (creating, changing, or deleting).
## In this section
- [Econumo API](/docs/api/#econumo-api)
- [System endpoints](/docs/api/#system-endpoints)
- [Health check](/docs/api/#health-check)
---
## Econumo API
All methods except those under `/api/v1/system` are part of the **User API**.
To use the **User API**, you need to authorize by using the `/api/v1/user/login-user` method, which will provide an access token
in response. Include this **Bearer** token in the `Authorization` header for your requests, for example:
```
Authorization: Bearer {ACCESS_TOKEN}
```
---
## System endpoints
### Health check
Econumo includes a `/_/health-check` endpoint. For example: https://app.econumo.com/_/health-check.
You can configure your monitoring tools to check if Econumo is functioning properly.
---
## System API
The System API was deprecated in version 0.8.0 and will be removed in version 1.0.0.
All methods under `/api/v1/system` are part of the **System API**. These methods are designed to manage the Econumo
instance itself, such as updating currency rates.
To use them, you must specify the `ECONUMO_SYSTEM_API_KEY` environment variable with a unique string. You will use this
as a token in the `Authorization` header:
```
Authorization: {ECONUMO_SYSTEM_API_KEY}
```
If `ECONUMO_SYSTEM_API_KEY` is empty, you will not be able to use the **System API**.
---
# Econumo compared
URL: https://econumo.com/docs/comparison/
# Econumo compared
Econumo is not the only way to budget, and it is not the right tool for everyone.
These pages compare it against the alternatives people most often weigh it
against — on licence, price, popularity, release history and features — and say
plainly where the other tool is the better choice.
Every figure is sourced and dated. Where a claim comes from a competitor's own
documentation, it is linked.
---
## Comparisons
- [Econumo vs Actual Budget](/docs/comparison/econumo-vs-actualbudget/) — the
closest open-source match: also MIT, also envelope budgeting, also
self-hostable. Differs sharply on multi-currency, family sharing and bank sync.
- [Econumo vs YNAB](/docs/comparison/econumo-vs-ynab/) — the app that made
envelope budgeting mainstream. Proprietary, cloud-only and $109/year, with
excellent bank sync and no multi-currency within a budget.
- [Econumo vs Firefly III](/docs/comparison/econumo-vs-firefly-iii/) — the most
established self-hosted finance manager. A double-entry ledger rather than an
envelope budgeter, and strictly single-user.
- [Econumo vs Maybe Finance](/docs/comparison/econumo-vs-maybe-finance/) — Maybe
shut down in 2025 and its repo is archived. Where displaced users should go, and
when the community fork Sure is the better answer than Econumo.
- [Econumo vs ezBookkeeping](/docs/comparison/econumo-vs-ezbookkeeping/) — the
closest *technical* twin: also Go, also MIT, also tiny. But it has no budgeting
features and no shared household data.
- [Econumo vs GnuCash](/docs/comparison/econumo-vs-gnucash/) — a 28-year-old
desktop double-entry accounting package. Far deeper accounting; no envelope
budgeting, no sharing, no mobile.
---
## How Econumo positions itself
Across every comparison, the same three differences keep appearing:
1. **Multi-currency is native.** Each account has its own currency, cross-currency
transfers record both amounts, and budgets convert to a single currency. Several
popular alternatives do not support this at all. See
[Multi-Currency](/docs/user-guide/multi-currency/).
2. **Family sharing is built in.** You connect by invitation and set an access
level per account and per budget — no identity provider to run. See
[Shared Access](/docs/user-guide/shared-access/).
3. **Hosting is a one-time payment.** Self-hosting is free forever; the hosted
cloud is a single $29.99 payment per user rather than a subscription. See
[Editions](/docs/edition/).
And the recurring trade-off to be aware of:
- **There is no automatic bank synchronisation.** Econumo is manual-entry first,
with [CSV import/export](/docs/user-guide/csv-import-export/) and a
[REST API](/docs/api/) for bulk data. If automatic bank import is essential to
you, several alternatives do it better — see the [FAQ](/docs/faq/) for why.
---
# Econumo vs Actual Budget
URL: https://econumo.com/docs/comparison/econumo-vs-actualbudget/
# Econumo vs Actual Budget
Econumo and Actual Budget are both open-source, self-hostable, envelope-style
budgeting apps released under the MIT licence. They overlap enough that people
routinely evaluate one against the other — and they differ enough that the right
answer is usually obvious once you know which two or three things you care about.
This page compares them on licence, price, popularity, release history and
features. Where Actual Budget is the better tool, it says so.
**The short version**
Choose **Actual Budget** if you bank in a single currency and want automatic bank
synchronisation, a large community and the most mature open-source budgeting
codebase available. Choose **Econumo** if you budget in **more than one currency**,
want **built-in family sharing** without standing up an identity provider, or want a
**hosted account** you can simply pay for once.
---
## At a glance
| | Econumo | Actual Budget |
|---|---|---|
| **Licence** | MIT | MIT |
| **Self-hosted price** | Free | Free |
| **Hosted price** | $29.99 one-time, per user | No first-party hosting (PikaPods ≈ $1.50/mo) |
| **GitHub stars** | 79 | 27,595 |
| **Contributors** | Small core team | 463 |
| **Releases to date** | 24 | 59 |
| **In development since** | 2020 | 2022 as open source |
| **First public release** | November 2024 | April 2023 |
| **Latest release** | v1.1.1 (19 Jul 2026) | v26.7.0 (2 Jul 2026) |
| **Language / stack** | Go, single binary | TypeScript / Node.js ≥ 22 |
| **Database** | SQLite (default) or PostgreSQL | SQLite |
| **Budgeting method** | Envelope | Envelope / zero-sum |
| **Multi-currency** | ✅ Native, per account | ❌ Not supported |
| **Family sharing** | ✅ Built in, per-item access | ⚠️ Requires external OIDC provider |
| **Bank sync** | ❌ Manual entry + CSV | ✅ 4 active providers |
| **Mobile** | PWA | PWA (native apps deprecated) |
| **End-to-end encryption** | ❌ | ✅ Optional |
| **REST API** | ✅ OpenAPI / Swagger | ✅ API + CLI |
*Figures observed 19 July 2026 from the GitHub API and each project's official
documentation.*
---
## Licence
Both projects use the **MIT licence** — among the most permissive licences in
common use. You can run either commercially, modify either, and neither imposes a
copyleft obligation on code you build around it.
This is worth stating plainly because it is a genuine tie, and it distinguishes
both from AGPL-licensed alternatives such as Firefly III or Ghostfolio, where
network use of a modified version obliges you to publish your changes.
- Econumo: [MIT](https://github.com/econumo/econumo/blob/main/LICENSE)
- Actual Budget: [MIT](https://github.com/actualbudget/actual/blob/master/LICENSE.txt)
---
## Price
| | Econumo | Actual Budget |
|---|---|---|
| Self-hosted | **Free** | **Free** |
| Hosted by the project | **$29.99 one-time**, per user | Not offered |
| Hosted by a partner | — | PikaPods, ≈ $1.50/month |
| Funding model | Cloud licences | Donations (Open Collective, GitHub Sponsors) |
Self-hosting either app costs nothing but your own infrastructure. The difference
is what happens when you would rather not run a server.
Econumo sells a **hosted cloud account for a single $29.99 payment per user**.
There is no subscription and no recurring renewal.
Actual Budget has **no first-party hosted option at all** — a deliberate choice,
not an oversight. If you want Actual without running Docker yourself, the
documented route is its hosting partner [PikaPods](https://actualbudget.org/docs/install/pikapods/),
at roughly $1.50 per month as of November 2025, which works out near $18/year
recurring and shares revenue back with the project.
Over five years the hosted paths land at roughly $29.99 for Econumo against roughly
$90 for PikaPods-hosted Actual — though PikaPods is a general hosting service and
that comparison flatters Econumo slightly, since you are also paying for compute.
---
## Popularity and project health
This is the category where Actual Budget wins decisively, and pretending
otherwise would not help you choose.
| | Econumo | Actual Budget |
|---|---|---|
| GitHub stars | 79 | **27,595** |
| Forks | 2 | **2,706** |
| Named contributors | small core team | **463** |
| Container pulls | ~21,000 across two registries | **30.9 million** (Docker Hub) |
| Open source since | November 2024 | April 2022 |
Actual Budget is one of the most popular open-source personal finance projects in
existence, with a broad contributor base, an active Discord and Reddit community,
and a disciplined monthly release train that has not slipped in three years. If
community size, third-party guides and the odds of the project outliving any one
maintainer are what matter to you, **Actual Budget is the safer pick.**
Econumo is a far smaller project, though not a newer one. It has been in
development since 2020, was open-sourced in November 2024, and was rebuilt on Go
and React for its 1.0 release in July 2026. What its size buys you is a focused
feature set and fast movement on the specific gaps described below; what it costs
you is ecosystem.
---
## Release history
Both projects ship regularly, on different philosophies.
| | Econumo | Actual Budget |
|---|---|---|
| Total releases | 24 | 59 |
| First public release | v0.1.0, 16 Nov 2024 | v22.12.9, 17 Apr 2023 |
| Latest release | v1.1.1, 19 Jul 2026 | v26.7.0, 2 Jul 2026 |
| Versioning | SemVer | CalVer (`YY.M.patch`) |
| Cadence | Frequent, feature-driven | ~Monthly, on the 1st–5th |
Actual Budget releases a minor version in the first week of nearly every month —
20 releases in 2023, 13 in 2024, 16 in 2025 and 10 through July 2026. Econumo
reached its 1.0 milestone in July 2026 after 20 months of pre-1.0 development and
ships on a feature-driven cadence.
Neither project is dormant. Both pushed code the week this page was written.
---
## Features head to head
### Budgeting method — a genuine tie
Both implement **envelope budgeting**: income is assigned to categories, and you
spend from the category rather than the account. Actual describes its model as a
"monthly envelope system"; Econumo organises envelopes into folders with limits
and available amounts. Anyone comfortable in one will recognise the other.
*Econumo's budget view: envelopes grouped into folders, with per-envelope limits.*
*Actual Budget's budget view: categories with Budgeted / Spent / Balance columns
and a "To Budget" figure. Screenshot from the official public demo.*
The layouts are close cousins. The meaningful differences are elsewhere.
### Multi-currency — Econumo's clearest advantage
This is the single biggest functional gap between the two, and it is not a close
call.
**Actual Budget does not support multi-currency.** Its own documentation states
that the software is
"[currency agnostic and does not support multi-currency](https://actualbudget.org/docs/budgeting/multi-currency/)".
The only documented approach is a manual workaround: hold separate accounts per
currency and convert amounts yourself using rule templating, which is itself an
experimental feature. There is no per-account currency field, no automatic
exchange-rate updates and no multi-currency reporting.
The request is the most-upvoted issue in the repository —
[#1132](https://github.com/actualbudget/actual/issues/1132), opened in June 2023
with 328 upvotes — and discussion was still active in April 2026 over how to model
the data. It does not appear on the
[2026 roadmap](https://actualbudget.org/blog/roadmap-for-2026/). What has shipped
so far is cosmetic: v26.1.0 added currency *symbols* to the budget view, and
v26.7.0 added three more symbols to the list.
**Econumo supports multiple currencies natively.** Each account has its own fixed
currency; cross-currency transfers record both amounts; and the budget converts
everything into a single currency so the totals reconcile. See
[Multi-Currency](/docs/user-guide/multi-currency/) for how it works.
If you hold money in more than one currency — expats, cross-border families,
anyone paid in a currency they do not spend — this alone likely decides it.
### Family sharing — built in vs bolted on
Both support more than one person, with very different setup costs.
**Econumo** has sharing as a first-class concept. You connect to another user by
[invitation](/docs/user-guide/shared-access/), then choose an access level *per
account and per budget*. Nothing to install, nothing to configure.
**Actual Budget** supports multi-user, but the
[documentation](https://actualbudget.org/docs/config/multi-user/) requires you to
run an **external OpenID Connect provider** — Authelia, Authentik, Keycloak or
similar — next to your Actual server. Without OIDC, the server is protected by one
shared password, so everyone in the household shares an identity. Two roles exist
(Basic and Admin), and budget owners grant per-budget access.
For a technical user who already runs an identity provider, this is fine, even
preferable. For a couple who want a shared budget on a Raspberry Pi, standing up
Keycloak is a real barrier.
### Bank synchronisation — Actual Budget's clearest advantage
Here the advantage runs the other way, decisively.
**Actual Budget** supports four active bank-sync providers, covering much of the
world:
| Provider | Region | Note |
|---|---|---|
| SimpleFIN Bridge | North America | Paid third-party service |
| Enable Banking | Europe | Added 2026 |
| Akahu | New Zealand | Added v26.7.0, experimental |
| Pluggy.ai | Brazil | |
One caveat if you are in the EU: the older **GoCardless** integration is
[no longer accepting new accounts](https://actualbudget.org/docs/advanced/bank-sync/),
so new European users are routed to the newer Enable Banking integration. Every
provider also requires you to register your own API credentials — Actual brokers
nothing on your behalf.
**Econumo has no automatic bank import.** This is an explicit product decision
rather than a missing feature: the [FAQ](/docs/faq/) states that automated import
is not a priority, on the view that manual entry builds a stronger habit of
attention to spending. [CSV import and export](/docs/user-guide/csv-import-export/)
and the [REST API](/docs/api/) are the supported routes for bulk data.
If automatic transaction import is non-negotiable for you, **choose Actual
Budget.**
### Mobile
Neither project ships a maintained native mobile app.
Actual Budget's official mobile applications are **deprecated**, and the archived
codebase is public; mobile parity is a stated 2026 roadmap goal, which is itself
an acknowledgement of the current gap. What exists is an installable PWA, plus
unofficial community clients.
Econumo is a responsive web app installable to the home screen on
[iPhone, Android, Mac and PC](/docs/apps/).
In practice both are "a good mobile website you can pin to your home screen".
### Data, API and automation
| | Econumo | Actual Budget |
|---|---|---|
| Import formats | CSV | CSV, QIF, OFX, QFX, CAMT.053 |
| YNAB migration | ❌ | ✅ YNAB4 and nYNAB importers |
| Export | CSV | CSV, full local data file |
| REST API | ✅ OpenAPI / Swagger UI | ✅ Node.js API library |
| CLI | ❌ | ✅ Stable since v26.7.0 |
| Rules engine | ❌ | ✅ Conditions, actions, templating |
| End-to-end encryption | ❌ | ✅ Optional |
Actual Budget is substantially stronger on data portability and automation. Its
rules engine, importers and optional end-to-end encryption are mature, and its
YNAB importers make migration off YNAB genuinely straightforward.
Econumo's API is fully documented via Swagger — you can browse it on the
[API docs](https://app.econumo.com/api/doc/) — but there is no CLI and no
rules engine today.
### Running it
| | Econumo | Actual Budget |
|---|---|---|
| Stack | Go, single static binary | TypeScript on Node.js ≥ 22 |
| Image | Distroless Docker image | Docker image |
| Database | SQLite or PostgreSQL | SQLite |
| Memory footprint | ~10 MB | Higher (Node runtime) |
| Architecture | Server-rendered API + web app | Local-first with sync server |
| Desktop builds | — | Microsoft Store, Flathub |
Econumo ships as **one self-contained Go binary** in a distroless image that
serves both the API and the web app, runs migrations on boot and uses about 10 MB
of RAM. On a small VPS or a Raspberry Pi alongside other services, that is a
meaningful difference.
Actual Budget's **local-first architecture** is the more interesting design: your
data lives on your device *and* syncs through your server, so the app keeps
working fully offline and syncs when it reconnects. Econumo requires a reachable
server.
---
## Which should you choose?
**Choose Actual Budget if:**
- You budget in a single currency
- Automatic bank synchronisation matters to you
- You want end-to-end encryption or offline-first operation
- You are migrating from YNAB and want an importer
- Community size, contributor count and ecosystem maturity are decisive
- You want a rules engine and CLI for automation
**Choose Econumo if:**
- You budget across **multiple currencies**
- You want **family sharing that works out of the box**, without running an
identity provider
- You want a **hosted account for a single $29.99 payment** rather than self-hosting
or a subscription
- You are running on constrained hardware and want a ~10 MB single binary
- You prefer deliberate manual entry to automatic import
Both are MIT-licensed and both let you export your data, so neither choice locks
you in. If you are undecided, a free [Econumo trial](https://app.econumo.com/register) and the
[Actual Budget demo](https://demo.actualbudget.org) both run in the browser with no
signup.
---
## Frequently asked questions
### Is Actual Budget free?
Yes — MIT-licensed and completely free, with no paid tier and no first-party
hosted plan. Its hosting partner PikaPods charges about $1.50 per month.
### Does Actual Budget support multiple currencies?
No. The official documentation states it is currency agnostic and does not support
multi-currency. Only a manual workaround is documented. The request has been the
most-upvoted issue in the project since 2023 and is not on the 2026 roadmap.
### Can two people share a budget in Actual Budget?
Yes, but it requires configuring an external OpenID Connect provider such as
Authelia, Authentik or Keycloak. Without OIDC the server uses a single shared
password. Econumo has invitation-based sharing with per-item access levels built
in.
### Which is better for budgeting in more than one currency?
Econumo. Each account has its own currency, cross-currency transfers record both
amounts, and the budget converts everything to one currency. Actual Budget does
not support multi-currency at all.
### Does Econumo have automatic bank synchronisation?
No. Econumo is manual-entry first, with CSV import and a REST API for bulk data.
Actual Budget is clearly stronger here.
---
*Last verified 19 July 2026 against the GitHub API and each project's official
documentation. Star counts, release counts and prices change — if you spot
something out of date, [let us know](/docs/contact-us/).*
---
# Econumo vs YNAB
URL: https://econumo.com/docs/comparison/econumo-vs-ynab/
# Econumo vs YNAB
YNAB is the app that made envelope budgeting mainstream, and most tools in this
space — Econumo included — owe something to it. It is also proprietary,
cloud-only, and **$109 per year**.
If you like the YNAB method but not the subscription, the lock-in, or the
single-currency limit, this comparison is for you. If you want the polished
product with real bank sync and excellent mobile apps, YNAB is still very good at
being YNAB.
**The short version**
Choose **YNAB** if you want automatic bank import, best-in-class native mobile
apps, and a mature, supported product — and the price is acceptable to you.
Choose **Econumo** if you want to **own your data**, budget in **more than one
currency**, or stop paying a subscription: self-hosting is free forever, and the
hosted account is a **single $29.99 payment**.
---
## At a glance
| | Econumo | YNAB |
|---|---|---|
| **Licence** | MIT, open source | Proprietary, closed source |
| **Self-hosting** | ✅ | ❌ Cloud only |
| **Price** | Free self-hosted; $29.99 one-time cloud | **$14.99/mo or $109/yr** |
| **Free trial** | Free forever, self-hosted | 34 days, no card required |
| **Student offer** | n/a — free | Free for 365 days |
| **People per plan** | $29.99 per user (one-time) | Up to 6 people, one subscription |
| **Budgeting method** | Envelope | Zero-based envelope (the Four Rules) |
| **Multi-currency** | ✅ Native, per account | ❌ One currency per budget |
| **Bank sync** | ❌ CSV import | ✅ Plaid + MX (US, CA, 18 EU countries) |
| **Mobile apps** | PWA | ✅ Native iOS and Android |
| **Data ownership** | Your server (Econumo Self-Hosted), or ours (app.econumo.com) | YNAB's servers |
| **API** | ✅ REST + Swagger, no rate limit | ✅ REST, 200 requests/hour |
| **Export** | CSV | CSV |
*Figures observed 18–19 July 2026 from ynab.com and Econumo's documentation.*
---
## Price — the headline difference
| | Econumo | YNAB |
|---|---|---|
| Self-hosted | **Free, forever** | Not possible |
| Hosted, 1 year | $29.99 one-time | $109 |
| Hosted, 3 years | $29.99 one-time | $327 |
| Hosted, 5 years | $29.99 one-time | $545 |
YNAB costs **$14.99 per month, or $109 per year** if paid annually. It offers a
generous **34-day free trial with no credit card**, and students get a **free
365-day subscription** with proof of enrolment.
Econumo's self-hosted edition is free indefinitely. The hosted cloud account is a
**single $29.99 payment per user** — not a subscription.
Over five years that is roughly **$29.99 against $545**.
To be fair to YNAB: a single subscription covers **up to six people** with shared
data, so a large household spreads that cost further than the per-user comparison
suggests. And YNAB is a supported commercial product with staff, onboarding
material and customer service — self-hosting Econumo means you are your own
sysadmin.
---
## Licence and data ownership
YNAB is **proprietary, closed-source software delivered only as a hosted service**.
There is no source code, no self-hosting option and no way to run it after a
subscription lapses. Your transaction history lives on YNAB's servers, and access
to the API requires an active subscription.
Econumo is **MIT-licensed**. You can read the code, run it on your own hardware,
modify it, and keep using it forever regardless of what happens to the project or
the company behind it.
For many people this is the deciding factor: household financial history is about
as sensitive as personal data gets, and self-hosting is the only arrangement where
it never leaves hardware you control.
---
## Multi-currency — a hard limit in YNAB
**YNAB supports one currency per budget.** Its official guidance for anyone
holding more than one currency is to
[create a separate budget for each](https://support.ynab.com/en_us/using-multiple-currencies-in-ynab-a-guide-SyBF6PHno).
In practice that means: no combined net position across currencies, no
cross-currency transfers, and duplicated category structures you maintain by hand.
Unofficial third-party converters exist, but nothing supported.
**Econumo handles this natively.** Each account has its own fixed currency,
cross-currency transfers record both amounts, and the budget converts everything
into a single currency so the totals reconcile — see
[Multi-Currency](/docs/user-guide/multi-currency/).
If you are an expat, paid in a currency you do not spend, or in a household
straddling two countries, this is likely the whole decision.
---
## Budgeting method — very similar
Both apps implement **zero-based envelope budgeting**: money arrives, you assign
every unit of it to a category, and you spend from categories rather than from
accounts. YNAB formalises this as the Four Rules; Econumo organises envelopes into
folders with limits and available amounts.
*Econumo's budget view. If you have used YNAB, the model will be familiar.*
Anyone fluent in YNAB will find Econumo's [budgets](/docs/user-guide/budgets/)
conceptually familiar. Note that Econumo has **no YNAB import tool** — if you are
migrating years of history, plan on exporting to CSV and importing that. (Actual
Budget, by contrast, does ship dedicated YNAB4 and nYNAB importers — see
[Econumo vs Actual Budget](/docs/comparison/econumo-vs-actualbudget/).)
---
## Where YNAB is clearly better
An honest comparison has to be blunt here. YNAB is a well-funded commercial
product and it shows.
**Bank synchronisation.** YNAB imports transactions directly through **Plaid and
MX**, covering the US and Canada well, plus 18 European countries via Plaid.
Econumo has **no automatic bank import at all** — a
[deliberate decision](/docs/faq/) in favour of manual entry, with
[CSV import/export](/docs/user-guide/csv-import-export/) and a
[REST API](/docs/api/) for bulk data. If automatic import is why you budget at
all, choose YNAB.
**Mobile apps.** YNAB ships genuinely excellent native apps — **4.79 stars from
over 60,000 ratings** on the iOS App Store, and 4.6 stars with 1M+ downloads on
Google Play. Econumo is a responsive web app you install to the home screen from
[iPhone, Android, Mac or PC](/docs/apps/). Good, but not a native app.
**Household sharing.** YNAB's subscription sharing covers **up to six people** on
one plan with shared data, at no extra cost. Econumo's
[shared access](/docs/user-guide/shared-access/) is arguably more granular — you
set an access level per account and per budget rather than sharing everything —
but YNAB's is simpler and well supported.
**Polish and support.** Onboarding, teaching material, workshops and customer
support are all things a subscription pays for.
---
## Where Econumo is better
**Price.** $29.99 once against $109 every year.
**You own it.** MIT-licensed, self-hostable, and yours to keep. No subscription
lapse can lock you out of your own history.
**Multi-currency.** Native, versus not supported within a budget.
**Privacy.** Self-hosted, your data never leaves your hardware. No third-party
bank aggregator holds credentials on your behalf.
**No rate limits.** Econumo's [API](/docs/api/) is your server. YNAB's is capped
at 200 requests per hour and requires an active subscription.
**Runs anywhere.** A single ~10 MB Go binary on a Raspberry Pi, NAS or small VPS.
---
## Which should you choose?
**Choose YNAB if:**
- Automatic bank import is essential
- You want first-class native mobile apps
- You budget in a single currency
- You want a supported product with real customer service
- Several people will share one plan and the annual cost is acceptable
**Choose Econumo if:**
- You want to stop paying a subscription
- You want to **own and self-host** your financial data
- You budget across **multiple currencies**
- You are comfortable entering transactions manually or via CSV
- You want a hosted account for a **single $29.99 payment**
If you like the YNAB method but want it free and open source, Econumo and
[Actual Budget](/docs/comparison/econumo-vs-actualbudget/) are the two strongest
options — Actual Budget for single-currency budgeting with bank sync, Econumo for
multi-currency and built-in household sharing.
Start a free [Econumo trial](https://app.econumo.com/register) in your browser, no signup
required.
---
## Frequently asked questions
### How much does YNAB cost?
$14.99 per month or $109 per year as of July 2026, with a 34-day free trial and no
card required. Students get 365 days free. One subscription covers up to six
people.
### Does YNAB support multiple currencies?
Not within one budget. YNAB officially recommends a separate budget per currency,
so there is no combined view or cross-currency transfer. Econumo converts all
accounts into one budget currency.
### Is there a free alternative to YNAB?
Yes — Econumo is MIT-licensed and free to self-host, using the same envelope
method. Actual Budget is another free, MIT-licensed option.
### Can I self-host YNAB?
No. YNAB is proprietary and cloud-only; your data lives on its servers. Econumo is
open source and self-hostable.
### Does Econumo connect to my bank like YNAB does?
No. This is YNAB's clearest advantage. Econumo is manual-entry first, with CSV
import and a REST API.
---
*Last verified 19 July 2026 against ynab.com and Econumo's documentation. Prices
change — check [ynab.com/pricing](https://www.ynab.com/pricing) for the current
figure. If you spot something out of date, [let us know](/docs/contact-us/).*
---
# Econumo vs Firefly III
URL: https://econumo.com/docs/comparison/econumo-vs-firefly-iii/
# Econumo vs Firefly III
Firefly III is the most established self-hosted personal finance manager there is —
in development since 2012, with 24,000 GitHub stars and 27 million Docker pulls.
If you have searched for self-hosted finance software, you have met it.
It is also, by its author's own description, **a double-entry bookkeeping system
rather than a budgeting app** — and it is **strictly single-user**. Those two facts
decide most comparisons with Econumo.
**The short version**
Choose **Firefly III** if you want a mature, deeply featured transaction manager
with double-entry rigour, rich reporting and a huge community — and you are the
only person who will use it.
Choose **Econumo** if you want **envelope budgeting** rather than spending caps, or
if you want to **share a budget with your partner without sharing a password**.
Firefly III's own FAQ recommends password-sharing for couples; Econumo has proper
per-user sharing.
---
## At a glance
| | Econumo | Firefly III |
|---|---|---|
| **Licence** | MIT | AGPL-3.0-or-later |
| **Price** | Free self-hosted; $29.99 one-time cloud | Free, self-host only |
| **GitHub stars** | 79 | 24,070 |
| **Forks** | 2 | 2,229 |
| **Contributors** | small core team | 177 (89% of commits by one person) |
| **Container pulls** | ~21,000 across two registries | 27.5 million (Docker Hub) |
| **Releases to date** | 24 | 329 |
| **In development since** | 2020 | 2012 |
| **First public release** | November 2024 | October 2014 |
| **Latest release** | v1.1.1 (19 Jul 2026) | v6.6.6 (1 Jul 2026) |
| **Cadence** | Feature-driven | ~45 releases in the last 12 months |
| **Stack** | Go, single binary | PHP ≥ 8.5, Laravel 13 |
| **Database** | SQLite or PostgreSQL | MySQL, MariaDB, PostgreSQL, SQLite |
| **Memory footprint** | ~10 MB | Full PHP/web-server stack |
| **Budgeting model** | Envelope | Spending caps on a double-entry ledger |
| **Zero-based budgeting** | ✅ | ❌ Explicitly declined |
| **Household sharing** | ✅ Per-item access levels | ❌ "Share the username and password" |
| **Multi-currency** | ✅ Converts into one budget currency | ⚠️ Yes, but budgets ignore foreign amounts |
| **Bank sync** | ❌ CSV import | ⚠️ Separate app; EU providers contracting |
| **Mobile** | PWA | ❌ No official app; community apps only |
| **API** | ✅ REST + Swagger | ✅ Extensive REST + webhooks |
*Figures observed 18 July 2026 from the GitHub API, Docker Hub and Firefly III's
official documentation.*
---
## Licence — the one real legal difference
Econumo is **MIT**. Firefly III is **AGPL-3.0-or-later**.
The AGPL is the strongest common copyleft licence: if you modify Firefly III and
let others use it **over a network**, you must publish your modifications. For a
household running it privately this changes nothing. For anyone building a service
on top, it is a serious constraint that MIT does not impose.
---
## Price
Both are free to self-host. Firefly III has **no official paid tier and no
official hosted service** — self-hosting is the only supported model. It is funded
through GitHub Sponsors, Patreon, Ko-fi and Liberapay, and the author describes it
plainly as *"a side gig."*
Econumo's self-hosted edition is likewise free, with an optional hosted account at
**$29.99 one-time per user** for those who would rather not run a server. Firefly III
has no equivalent — third-party hosts list it, but that is not a project offering.
---
## Popularity and project health
Firefly III is far more established, and the numbers are not close.
| | Econumo | Firefly III |
|---|---|---|
| GitHub stars | 79 | **24,070** |
| Forks | 2 | **2,229** |
| Container pulls | ~21,000 across two registries | **27.5 million** (Docker Hub) |
| In development since | 2020 | **2012** |
| Releases | 24 | **329** |
If longevity and community size are what you are optimising for, Firefly III wins
comfortably.
One thing to weigh alongside that, in fairness to both projects: Firefly III's
development is **overwhelmingly one person**. James Cole has authored roughly
20,800 of the repository's commits — about 89% — and the next most active human
contributor has 131. Of the last 100 commits, 68 were his, 31 were bots, and one
was from anyone else. The project is very actively maintained and ships roughly
every eight days, but its bus factor is 1, and the author is candid that it is a
side project.
That is not a criticism so much as context: a large star count does not
automatically mean a large maintenance team.
---
## Release history
Firefly III has one of the most prolific release records in the category: **329
releases since October 2014**, averaging around 28 stable releases a year over its
lifetime and accelerating to **45 in the last twelve months** — roughly one every
eight days.
| | Econumo | Firefly III |
|---|---|---|
| Total releases | 24 | 329 |
| First public release | 16 Nov 2024 | 14 Oct 2014 |
| Latest release | v1.1.1, 19 Jul 2026 | v6.6.6, 1 Jul 2026 |
The flip side of that cadence is an upgrade treadmill. Firefly III moved from PHP
8.3 to **PHP 8.5** within about eighteen months, dropped Docker support for
`linux/arm/v7`, `linux/arm/v8` and `linux/386` in 6.2.0, and has renamed core
concepts across recent versions. Its own 6.2.0 release note says: *"I expect you
will run into issue, and I appreciate your feedback and your patience as I fix
them."*
---
## Budgeting — the philosophical difference
This is the most important section on the page, and it is not a matter of one
being more polished than the other. **They disagree about what budgeting is.**
**Firefly III does not do envelope or zero-based budgeting, by design.** A budget
there is, in the docs' own words, *"just another identifier to link withdrawals
together"*, optionally with a date range and an amount — a **spending cap**, not an
envelope you fund.
The clearest proof is this line from the
[budgets documentation](https://docs.firefly-iii.org/explanation/financial-concepts/budgets/):
> "You cannot assign income to a budget to automatically increase the budgets
> amount. If you have more money available for the budget, you must increase the
> budget manually."
That is the exact inverse of envelope budgeting, where income is what fills the
envelopes. Overspending is also not enforced — the budget simply depletes and
*"Firefly III will not complain."* Rollover exists only as a cron-driven
"auto-budget" mode, not as native carryover.
The maintainer has stated his position directly, on a page flagged as personal
opinion:
> "Zero based budgeting is a method of budgeting that focuses on giving each Euro
> a goal. … I believe this approach is pretty terrible."
So this will not change. If you have come from YNAB and want that workflow,
Firefly III is explicitly not offering it.
**Econumo is envelope-first.** [Budgets](/docs/user-guide/budgets/) are the primary
object: income is assigned to envelopes grouped in folders, with limits, available
amounts and rollover.
*Econumo's envelope budget: money assigned into envelopes, not spending caps
attached to a ledger.*
Neither model is wrong. But they suit different people, and the choice between
them is the choice between these two apps.
---
## Household sharing — Firefly III's hardest limit
Firefly III supports unlimited **users**, each with a completely separate financial
administration. What it does not support is two people sharing one.
From the [official multi-user documentation](https://docs.firefly-iii.org/how-to/firefly-iii/features/multi-user/):
> "Can I share my administration with other users? At the moment, you cannot.
> Sorry about that. … This is a big project and will take a while."
And from the [FAQ](https://docs.firefly-iii.org/references/faq/firefly-iii/general/):
> "Each administration is tightly locked to a single user. If you want to share
> your financial administration with your partner or somebody else, **you must
> share the username and password with them.**"
The author has explained why it is unlikely to change soon: roughly 95% of the
codebase would be affected, since every query is scoped to a single user ID. Asked
in 2021 whether household use really required sharing credentials, his answer was
*"Indeed. I advise a password manager with a shared vault."* The request dates back
to 2016 and still ships as "at the moment, you cannot" as of July 2026.
**Econumo was built for this case.** You
[connect by invitation](/docs/user-guide/shared-access/) and set an access level
**per account and per budget**. Each person has their own login, their own
password, and sees exactly what you have shared.
For a couple or a family, this is the single biggest practical difference between
the two applications.
---
## Multi-currency — both support it, differently
Firefly III's multi-currency support is genuinely substantial: unlimited
currencies, a currency per asset account, and mandatory foreign amounts on
cross-currency transactions. Automatic exchange rates arrived in **v6.2.0**
(January 2025).
There are real caveats worth knowing before relying on it:
- Exchange rates are **off by default** and need a working cron job
- Conversion runs **one way only**, into your primary currency
- If a rate is missing, Firefly III **silently uses 1**
- No historical rates
- Maximum 8 decimal places, so most cryptocurrencies are impractical
- **Budgets ignore foreign amounts entirely** — per the docs, *"A budget with the
amount set to EUR 100 will not be influenced by transactions in USD, even when
those transactions are linked to the budget."* You must set a separate budget
amount per currency.
That last point matters most here: Firefly III is multi-currency at the *ledger*
level, but its *budgets* are not.
**Econumo converts everything into a single budget currency**, so a multi-currency
household sees one set of totals that reconcile — see
[Multi-Currency](/docs/user-guide/multi-currency/). Firefly III's ledger is the
more powerful accounting tool; Econumo's budget is the more usable multi-currency
budget.
---
## Bank import
Neither project is in a strong position here, but for different reasons.
**Firefly III** imports through the **Data Importer, a completely separate
application** with its own installation, Docker image, upgrade cycle and OAuth
wiring. It reads CSV and CAMT.053 files, and connects to Enable Banking (2,500+
banks across 29 European countries), SimpleFIN and Lunch Flow (paid).
Two of its longest-standing providers are going away: **Salt Edge ended free-tier
access for Firefly III users on 31 October 2025**, and **GoCardless is shifting
away from its bank-account-data product**. European bank sync is mid-migration to
Enable Banking.
The docs are candid about the experience — *"Importing data from your bank and
doing this automatically is not that easy with Firefly III"* — and note that
imported transactions probably will not match ones you entered manually. Docker
pull counts suggest many users skip the importer entirely: 12.3M pulls against
27.5M for the core image.
**Econumo** has no automatic bank import at all — a
[deliberate decision](/docs/faq/) — with
[CSV import/export](/docs/user-guide/csv-import-export/) and a
[REST API](/docs/api/) instead.
So: Firefly III can sync from banks and Econumo cannot, but Firefly III's bank sync
costs you a second application to run and is contracting in Europe.
---
## Setup and running cost
| | Econumo | Firefly III |
|---|---|---|
| Runtime | Single Go binary, distroless image | PHP ≥ 8.5 + web server |
| Extensions needed | none | BCMath, intl, curl, zip, libsodium, GD, XML, MBString, DB driver |
| Post-install steps | migrations run on boot | four `php artisan` commands |
| Cron job | not required | effectively required |
| Import tooling | built in | separate application |
| Memory | ~10 MB | full PHP stack |
Firefly III's own documentation states it is *"geared towards tech-savvy users"*
and that you should be someone who *"doesn't mind tinkering with self-hosted
servers."* That is an accurate and honest self-description.
Econumo pulls one image, runs its migrations on boot and uses about 10 MB of RAM.
---
## Mobile
**Firefly III has never shipped an official mobile app.** Its documentation lists
community apps — Waterfly III (Android), Abacus (iOS and Android), Photuris III,
Firefly-Pico and others — several actively maintained, one officially flagged as
dead since January 2020. The project positions its REST API as the mobile story.
**Econumo** is a responsive web app installable to the home screen on
[iPhone, Android, Mac and PC](/docs/apps/).
---
## Where Firefly III is better
- **Maturity** — fourteen years of development, 329 releases, 27.5M Docker pulls
- **Double-entry rigour** — a real accounting ledger, which Econumo is not
- **Reporting depth** — far more extensive
- **Bank sync** — Econumo has none at all
- **Import formats** and a large third-party ecosystem
- **API surface** — extremely broad, plus first-class webhooks
- **Community** — vastly larger, with abundant third-party guides
## Where Econumo is better
- **Envelope budgeting** — Firefly III declines to offer it
- **Household sharing** — proper per-user access instead of a shared password
- **Multi-currency budgeting** — budgets that actually combine currencies
- **Setup** — one small binary versus a PHP stack, cron job and second app
- **Licence** — MIT rather than AGPL
- **Hosted option** — $29.99 one-time, or self-host free
---
## Which should you choose?
**Choose Firefly III if:**
- You want a full double-entry ledger and detailed financial reporting
- You are budgeting alone and will never need to share
- You want spending caps rather than funded envelopes
- You want bank sync and are willing to run a second application for it
- You are comfortable maintaining a PHP application
- Project maturity and ecosystem size are decisive
**Choose Econumo if:**
- You want **envelope budgeting**
- You want to **share a budget with your household**, each person with their own login
- You want **multi-currency budgets** that combine into one set of totals
- You want a small, simple deployment
- You want the option of a hosted account for a single $29.99 payment
Start a free [Econumo trial](https://app.econumo.com/register), or try the
[Firefly III demo](https://demo.firefly-iii.org) — both run in a browser.
---
## Frequently asked questions
### Can my partner and I share a budget in Firefly III?
No. Each administration is locked to one user, and the official FAQ says you must
share the username and password. Econumo has invitation-based sharing with
per-account and per-budget access levels.
### Does Firefly III do envelope or zero-based budgeting?
No. Budgets are spending caps on a double-entry ledger; you cannot assign income to
a budget. The maintainer has written that he considers zero-based budgeting a poor
approach and will not add it.
### Is Firefly III free?
Yes — AGPL-3.0-or-later, self-hosted only, funded by sponsorship. There is no
official hosted tier.
### Does Firefly III support multiple currencies?
Yes at the ledger level, with caveats: rates are off by default, convert only into
your primary currency, and fall back to 1 when missing. Budgets ignore foreign
amounts entirely.
### Which is easier to set up?
Econumo — a single Go binary using about 10 MB of RAM. Firefly III needs PHP 8.5
with nine extensions, a database, four post-install commands, a cron job, and a
second application for imports.
---
*Last verified 18–19 July 2026 against the GitHub API, Docker Hub and Firefly III's
official documentation. If you spot something out of date,
[let us know](/docs/contact-us/).*
---
# Econumo vs Maybe Finance
URL: https://econumo.com/docs/comparison/econumo-vs-maybe-finance/
# Econumo vs Maybe Finance
**Maybe Finance is no longer maintained.** The project was archived on GitHub in
July 2025, and the company behind it wound down in early 2026. If you arrived here
looking for a Maybe alternative, this page is about where to go next — and it will
not pretend Econumo is the right answer for everyone.
**Maybe Finance shut down**
On **24 July 2025**, Maybe Finance published a final release titled
*"Farewell… Maybe"* announcing a pivot to B2B financial forecasting. The
[repository](https://github.com/maybe-finance/maybe) is archived and read-only,
with 54,351 stars frozen in place. `maybefinance.com` now redirects away from the
product, and the hosted app is gone.
**The short version**
**[Sure](https://github.com/we-promise/sure) is the continuation. Econumo is the
alternative.**
If you loved Maybe's **tracking** — bank sync, investments, the net worth
dashboard — go to Sure. It is a direct fork, actively maintained, and keeps your
existing database.
If you loved Maybe's **simplicity** but wished it actually helped you *plan* — and
never got much out of bank sync anyway — Econumo does the envelope budgeting that
neither Maybe nor Sure has.
---
## Which should you choose?
The honest decision tree, before any comparison table:
| If you… | Go to |
|---|---|
| Want bank sync to keep importing transactions | **Sure** |
| Track investments, holdings or crypto | **Sure** |
| Care most about the net worth graph and balance sheet | **Sure** |
| Are self-hosting Maybe and want to keep your database | **Sure** |
| Want the AI assistant | **Sure** |
| Want **envelope budgeting** with money that rolls over | **Econumo** |
| Budget with a **partner or family**, each with their own login | **Econumo** |
| Budget across **multiple currencies** in one place | **Econumo** |
| Were entering transactions manually anyway | **Econumo** |
| Want a hosted account without running a server | **Econumo** |
If several rows on both sides apply, you probably want Sure for tracking and are
better served waiting rather than switching twice.
---
## At a glance
| | Econumo | Maybe Finance | Sure (fork) |
|---|---|---|---|
| **Status** | ✅ Active | ❌ **Archived Jul 2025** | ✅ Active |
| **Licence** | MIT | AGPL-3.0 | AGPL-3.0 |
| **Price** | Free self-hosted; $29.99 one-time cloud | — | Free, self-hosted |
| **GitHub stars** | 79 | 54,351 (frozen) | 9,065 |
| **Last release** | v1.1.1 (19 Jul 2026) | v0.6.0 (24 Jul 2025) | v0.7.2 (1 Jul 2026) |
| **Total releases** | 24 | 28 | 20 |
| **Stack** | Go, single binary | Ruby on Rails + PostgreSQL | Ruby on Rails + PostgreSQL |
| **Envelope budgeting** | ✅ | ❌ Monthly categories only | ❌ Inherited from Maybe |
| **Net worth / balance sheet** | ❌ | ✅ | ✅ |
| **Investment tracking** | ❌ | ✅ | ✅ Expanded |
| **Bank sync** | ❌ | ✅ Plaid only | ✅ ~20 providers |
| **Multi-currency** | ✅ | ✅ | ✅ |
| **Household sharing** | ✅ Per-item access | ✅ Household invites | ✅ With permissions |
| **Mobile apps** | PWA | ❌ None | 🟡 Flutter, alpha |
| **AI assistant** | ❌ | ✅ | ✅ Optional |
*Figures observed 19 July 2026 from the GitHub API and each project's
documentation. Maybe's figures are frozen at archive time.*
---
## What happened to Maybe Finance
Maybe was founded in 2021 by Josh Pigford and Travis Woods. Its first attempt was
a paid commercial product that failed to find enough customers. In **January 2024**
the team open-sourced roughly a million dollars' worth of prior development work,
and it exploded — the top trending repository on GitHub for a week, tens of
thousands of stars, arriving just as Mint's shutdown left millions of users looking
for a replacement.
That momentum never converted into a business. From the final release notes:
> "In the end, our obligation as a company is to our investors, and … we've
> determined that continuing to build this app is not our best chance at paying
> back our investors and profiting as a company."
The repository's last commit is **24 July 2025**. The company itself shut down in
early 2026 and began liquidating assets — its market-data product Synth now has
its domain listed for sale.
### Do not simply self-host the archive
This matters practically: **archived Maybe is partially broken today.** It depended
on **Synth**, Maybe's own market-data API, which died with the company. Investment
prices and related features no longer work, and the code receives no security
updates.
Sure replaced that dependency with several working market-data providers. If you
want Maybe's feature set, run Sure, not the archive.
---
## What Maybe got right
Worth stating clearly, because it explains why 54,000 people starred it and why
this page exists at all.
**The design.** Maybe's team was unusually disciplined about restraint. From their
own write-up:
> "We spent a lot of time asking the question, 'What can we delete?' … Our goal
> with this app was to *remove complexity* from personal finance."
**Transfers as first-class citizens.** Maybe auto-detected transfers between your
own accounts and *refused to let you categorise them*, so they never polluted
budgets or spending totals. Their reasoning — that other apps force users into a
"junk drawer" of Transfer and Excluded categories — is correct, and it is a detail
people miss immediately when it is absent.
**The net worth dashboard.** Assets, liabilities, property, crypto and investments
in one balance sheet with a trend over time. This is what made Maybe a *Mint*
replacement rather than a *YNAB* replacement — and it is the single biggest thing
Econumo does **not** do.
---
## The gap neither Maybe nor Sure fills
Maybe had **monthly category budgets**, not envelopes. You could allocate money
across categories within a month, but there was **no carryover between months** —
no rollover field exists anywhere in its data model, and Sure inherited the same
design.
That is a deliberate philosophy, not an oversight. Maybe's position was that *"most
users are satisfied with less; not more"*, and its four guiding questions were all
retrospective: how much do I have, am I spending less than I earn, how much did I
spend last month, what did I spend it on.
Those are good questions. They are just not budgeting questions. **Maybe told you
where your money went. Envelope budgeting decides where it goes next.**
[Econumo's budgets](/docs/user-guide/budgets/) are envelopes: income is assigned
into categories grouped in folders, with limits, available amounts and rollover
between months.
*Econumo's envelope budget — unspent money stays in the envelope and carries
forward.*
*Sure's dashboard, continuing Maybe's design: cashflow, balance sheet and net
worth. Screenshot from the Sure project README.*
The two screenshots show the difference better than any table. One is a plan; the
other is a report.
---
## Bank sync — and why Econumo does not have it
Econumo has **no automatic bank import**, and for a Maybe refugee that is the most
obvious downgrade. It is a [deliberate decision](/docs/faq/), with
[CSV import/export](/docs/user-guide/csv-import-export/) and a
[REST API](/docs/api/) instead.
Maybe's own postmortem is the most credible explanation of why a small
self-hosted project might reasonably decline to build it:
> "The single biggest challenge with a personal finance app in 2025 is bank
> providers. … this is a *massive* challenge for anyone building a personal
> finance app and is the primary reason why 'bootstrapping' a personal finance app
> with automated bank syncing is an uphill battle. **You need a lot of money and
> time to get this right.**"
They listed unsupported banks, banks that only accept logins at certain hours,
provider documentation that did not match production data, and bank data that was
simply wrong. With roughly $3M raised, it was still the thing that beat them.
That is context, not an excuse. If automatic bank import is why you budget at all,
**Sure is the better choice** — it now supports around twenty providers including
Plaid, SimpleFIN, Enable Banking, Akahu and several brokers, well beyond Maybe's
Plaid-only integration.
---
## Sure: the direct continuation
Sure was forked on **23 July 2025** — one day *before* Maybe's final release —
and its first version was titled *"Maybe v0.6.0 — Bug compatible"*, an explicit
statement of intent.
It has since clearly outgrown a straight continuation:
- **Replaced the dead Synth dependency** with Twelve Data, Yahoo Finance, Alpha
Vantage, Frankfurter and others
- **Expanded bank sync** from Plaid alone to roughly twenty providers
- **Native mobile apps** in Flutter — iOS and Android, still alpha
- **Pluggable AI**, including local models via Ollama, and the option to disable
it entirely
- **OpenID Connect / SSO**, which Maybe never had
- **Family sharing permissions**, goals, transaction splits, privacy mode
- **Internationalisation** — Maybe was English-only
Health signals are genuinely good: **1,199 merged pull requests** in its first
year, and **eight consecutive on-schedule monthly stable releases** from November
2025 through July 2026.
Two caveats worth knowing. Its **bus factor is low** — one maintainer leads
development and writes all the communications, with a long tail of occasional
contributors — and there are **more than 200 open pull requests**, the classic
signature of review capacity being the bottleneck. It is substantially healthier
than a one-person project, but it is not yet institutionally durable.
---
## Where Econumo genuinely fits
**Envelope budgeting.** Verified absent from both Maybe and Sure. This is the real
differentiator, not a marketing one.
**Multi-currency and household sharing.** Straight parity with Maybe — Econumo has
both, with [access levels set per account and per budget](/docs/user-guide/shared-access/).
**A much lighter self-host.** Econumo is a single Go binary in a distroless image
using about 10 MB of RAM, with SQLite by default. Sure is a Rails application with
PostgreSQL, background workers, and API keys needed for market data and AI. If your
Maybe instance felt heavy for what you used it for, that gap is real.
**No third-party dependencies.** Sure's headline features need API keys from
market-data or LLM providers. Econumo needs none — which is also precisely why
Maybe's Synth shutdown could not happen to it.
**MIT rather than AGPL.** Maybe and Sure are both AGPL-3.0. Maybe additionally
trademarked its name, which is why the fork had to be renamed — that is what
AGPL-plus-trademark looks like in practice.
**A hosted option.** $29.99 one-time per user, or self-host free. Sure offers
self-hosting only.
---
## Be clear about the switching cost
If you are running self-hosted Maybe today:
- **Moving to Sure** is close to a container swap. It shares Maybe's Rails and
PostgreSQL schema and started life bug-compatible with v0.6.0.
- **Moving to Econumo** means exporting to CSV, importing, and **rebuilding your
budget from scratch**. There is no Maybe importer. You also lose investment
tracking and the net worth balance sheet, which Econumo does not model at all.
If you were a *hosted* Maybe customer, there is a harder problem: the sunset window
closed around September 2025, so if you did not export then, that data is likely
gone. Neither project can recover it.
Given all that, the switch to Econumo makes sense when you were **already entering
transactions by hand** — which described most of Maybe's users, since the project
had tens of thousands of self-hosters and only a few hundred paying customers — and
what you actually wanted was a budget rather than a report.
Start a free [Econumo trial](https://app.econumo.com/register) before deciding.
---
## Frequently asked questions
### Is Maybe Finance shut down?
Yes. It announced a pivot to B2B forecasting on 24 July 2025 and archived the
repository; the company wound down in early 2026.
### What is the best alternative to Maybe Finance?
Sure, if you want bank sync, investments and the net worth dashboard to keep
working. Econumo, if you wanted a simple app that helps you plan rather than report,
and did not rely on bank sync.
### Can I still self-host the archived Maybe Finance?
You can run it, but its Synth market-data dependency died with the company, so
parts are broken and it gets no security updates. Run Sure instead.
### Did Maybe Finance have envelope budgeting?
No — monthly category budgets with no carryover between months. Sure inherited the
same model.
### Can I migrate my Maybe data to Econumo?
Only via CSV, and you will rebuild your budget. Sure is the drop-in path if you
want to keep your existing database.
---
*Last verified 19 July 2026 against the GitHub API and the projects' own release
notes and documentation. Maybe Finance is a trademark of Maybe Finance Inc.;
Econumo is not affiliated with or endorsed by Maybe Finance Inc. or the Sure
project. If you spot something out of date, [let us know](/docs/contact-us/).*
---
# Econumo vs ezBookkeeping
URL: https://econumo.com/docs/comparison/econumo-vs-ezbookkeeping/
# Econumo vs ezBookkeeping
Of everything in the self-hosted personal finance space, **ezBookkeeping is
Econumo's closest technical twin.** Both are written in Go, both are MIT-licensed,
both ship as a lightweight self-hosted Docker container, both run on SQLite or
PostgreSQL, and both are built to run on hardware as small as a Raspberry Pi.
They are, however, built for two different jobs — and the difference is unusually
clean-cut.
**The short version**
ezBookkeeping is a **bookkeeping and analytics** tool: record what happened, import
it from almost any file format, and chart it. Econumo is a **budgeting** tool: plan
what should happen, in envelopes, together with your household.
ezBookkeeping has **no budgeting features at all** and **no shared household
ledger**. If you want either of those, that decides it. If you want the broadest
possible import-format support and rich retrospective analytics, ezBookkeeping is
excellent at that.
---
## At a glance
| | Econumo | ezBookkeeping |
|---|---|---|
| **Licence** | MIT | MIT |
| **Price** | Free self-hosted; $29.99 one-time cloud | Free, self-host only |
| **GitHub stars** | 79 | 5,239 |
| **Releases to date** | 24 | 22 |
| **In development since** | 2020 | October 2020 |
| **First public release** | November 2024 | June 2021 |
| **Latest release** | v1.1.1 (19 Jul 2026) | v1.5.1 (31 May 2026) |
| **Backend** | Go | Go |
| **Frontend** | React | Vue 3 (Framework7 mobile / Vuetify desktop) |
| **Database** | SQLite or PostgreSQL | SQLite, MySQL or PostgreSQL |
| **Memory footprint** | ~10 MB | ~30 MiB |
| **Envelope budgeting** | ✅ | ❌ Not supported at all |
| **Household sharing** | ✅ Per-item access levels | ❌ Multi-user, but no shared data |
| **Multi-currency** | ✅ | ✅ With auto-updating rates |
| **Import formats** | CSV | CSV, OFX, QFX, QIF, IIF, Camt.052/053, MT940 |
| **Bank sync** | ❌ | ❌ File import only |
| **Mobile** | PWA | PWA with separate mobile UI |
| **API** | ✅ OpenAPI / Swagger | ✅ HTTP API + MCP server |
| **2FA** | — | ✅ TOTP, WebAuthn, OIDC |
*Figures observed 18–19 July 2026 from the GitHub API and each project's official
documentation.*
---
## Licence and price
A genuine tie on licence: both are **MIT**, both are free to self-host forever.
The projects differ in how they sustain themselves. ezBookkeeping is unusually
absolutist — its FAQ states there are no paid features and that the project
**does not accept donations or sponsorships**, and there is no official hosted
service. Econumo funds development through an optional hosted cloud account
(**$29.99 one-time per user**) while the self-hosted edition stays free.
If you object on principle to a project having any commercial arm at all,
ezBookkeeping's position is the purer one. If you would rather pay once and not
run a server, only Econumo offers that.
---
## Popularity and project health
ezBookkeeping is much the better known of the two — **5,239 stars to Econumo's
79** — but the two projects are near-contemporaries. Both have been in development
since 2020; ezBookkeeping simply found its audience, and Econumo has not.
| | Econumo | ezBookkeeping |
|---|---|---|
| GitHub stars | 79 | **5,239** |
| Forks | 2 | 600 |
| Contributors | small core team | ~36 |
| In development since | 2020 | October 2020 |
One characteristic worth knowing about ezBookkeeping: development is
**overwhelmingly one person**, who personally answers nearly every issue. That
produces an unusually coherent product and fast, decisive issue triage — and it
also concentrates the project's bus factor. Design decisions are firmly held, and
requests that do not fit the vision are closed rather than left open, which is
directly relevant to the budgeting question below.
---
## Release history
Both projects started in 2020 and have shipped a near-identical number of public
releases, though Econumo spent its first four years closed-source.
| | Econumo | ezBookkeeping |
|---|---|---|
| In development since | 2020 | October 2020 |
| Public releases to date | 24 | 22 |
| First public release | v0.1.0, 16 Nov 2024 | v0.1.0, 20 Jun 2021 |
| 1.0 milestone | July 2026 (Go + React rewrite) | August 2025 |
| Latest release | v1.1.1, 19 Jul 2026 | v1.5.1, 31 May 2026 |
ezBookkeeping's cadence has accelerated sharply — 4 releases in 2023, 3 in 2024,
8 in 2025 and 6 in the first half of 2026. Both projects are healthy and actively
maintained.
---
## The two differences that decide it
### 1. ezBookkeeping has no budgeting
This is not a weak-budgeting story or a roadmap gap. ezBookkeeping does not
implement budgeting, by design.
The project's **own comparison page** lists budgeting as
[not supported](https://ezbookkeeping.mayswind.net/comparison/). There is no budget
entity in its data model. And budget feature requests —
[#67](https://github.com/mayswind/ezbookkeeping/issues/67),
[#127](https://github.com/mayswind/ezbookkeeping/issues/127),
[#168](https://github.com/mayswind/ezbookkeeping/issues/168) and
[#289](https://github.com/mayswind/ezbookkeeping/issues/289) — have been filed and
closed without implementation. Issue #289 puts the philosophy plainly: the app
focuses on tracking past transactions, with no support for planning or forecasting.
That is a legitimate product position. Plenty of people want a clean ledger with
good charts and no opinions about what they *should* spend. If that is you,
ezBookkeeping does it well.
But if you want to assign income to categories before you spend it — the envelope
method — ezBookkeeping cannot do it, and is not going to.
[Econumo's budgets](/docs/user-guide/budgets/) are the entire point of the app:
envelopes grouped into folders, with limits, available amounts and rollover.
*Econumo's budget view. ezBookkeeping has no equivalent screen.*
### 2. ezBookkeeping is multi-user, but not multi-player
This one is easy to get wrong, so it is worth stating precisely.
ezBookkeeping **does** support multiple users — one instance can host many
independent accounts. But each user's data is **completely separate**. There is no
shared ledger, no co-owned account, no household view and no cross-user
aggregation. The maintainer has explained the reasoning in
[#53](https://github.com/mayswind/ezbookkeeping/issues/53) and
[#322](https://github.com/mayswind/ezbookkeeping/issues/322): accounts, categories
and tags are all scoped to an individual user, ezBookkeeping is designed for
personal use, and cross-user aggregation is not planned.
For a couple who want a joint budget, the only workaround is sharing one login.
[Econumo's shared access](/docs/user-guide/shared-access/) is built for exactly
this case: you connect to another user by invitation, then set an access level
**per account and per budget**. Each person keeps their own login and sees a shared
view of the things you have chosen to share.
---
## Where ezBookkeeping is better
Being the closest twin cuts both ways. ezBookkeeping clearly beats Econumo on
several axes:
**Import formats.** ezBookkeeping reads CSV, OFX, QFX, QIF, IIF, Camt.052,
Camt.053 and MT940, plus dedicated migration importers for **GnuCash, Firefly III
and Beancount**. Econumo imports CSV only. If you are migrating years of history
out of another tool, this is a real gap.
**Authentication and security features.** TOTP two-factor authentication,
WebAuthn app lock, OIDC external authentication and login rate limiting all ship
today.
**AI and automation surface.** ezBookkeeping provides an HTTP API *and* an MCP
(Model Context Protocol) server, an Agent Skill and CLI tooling — ahead of most of
the field on AI integration. Econumo offers a documented
[REST API with Swagger UI](/docs/api/), but no MCP server.
**Extras.** Transaction image attachments with AI receipt recognition, scheduled
and recurring transactions, geolocation with maps, S3/MinIO attachment storage,
and a dedicated mobile UI distinct from the desktop one.
**Maturity.** Four more years of development and 66× the stars.
Neither app has automatic bank synchronisation — both are file-import and
manual-entry tools.
---
## Which should you choose?
**Choose ezBookkeeping if:**
- You want a ledger and analytics, not a budget
- You are migrating from GnuCash, Firefly III or Beancount and want an importer
- You need broad bank-statement format support (MT940, Camt.053, OFX, QIF)
- You want TOTP/WebAuthn/OIDC authentication out of the box
- You are budgeting alone and will never need to share
- Project maturity and community size are decisive
**Choose Econumo if:**
- You want **envelope budgeting** — ezBookkeeping has none
- You want a **shared household budget** where each person has their own login
- You want a hosted option you can pay for once instead of self-hosting
- You want the smallest possible footprint (~10 MB, single distroless binary)
Both are MIT-licensed and both export your data — Econumo offers a
free [Econumo trial](https://app.econumo.com/register) and ezBookkeeping a
[public demo](https://ezbookkeeping-demo.mayswind.net) — so you can try
both before committing.
---
## Frequently asked questions
### Does ezBookkeeping have budgeting?
No. Its own comparison page lists budgeting as unsupported, there is no budget
entity in the data model, and multiple budget requests have been closed without
implementation. It is a retrospective bookkeeping and analytics tool.
### Can a couple share a budget in ezBookkeeping?
No. Multiple users can have accounts on one instance, but their data is entirely
separate — no shared ledger and no cross-user aggregation, which the maintainer
has confirmed is not planned. Econumo supports per-account and per-budget sharing
by invitation.
### Is ezBookkeeping open source and free?
Yes — MIT-licensed with no paid features. The project does not accept donations or
sponsorships and offers no hosted service.
### Which uses fewer resources?
Both are very light. Econumo uses about 10 MB of RAM as a single distroless Go
binary; ezBookkeeping reports about 30 MiB for a single user.
---
*Last verified 19 July 2026 against the GitHub API and each project's official
documentation. If you spot something out of date,
[let us know](/docs/contact-us/).*
---
# Econumo vs GnuCash
URL: https://econumo.com/docs/comparison/econumo-vs-gnucash/
# Econumo vs GnuCash
GnuCash is one of the oldest and most respected open-source finance projects in
existence — development began in **1997**, and it is still shipping quarterly
releases nearly three decades later. Econumo is a self-hosted budgeting web app,
in development since 2020 and open-sourced in November 2024.
Comparing them is less about which is better and more about which category you
actually need: **double-entry accounting** or **household budgeting**.
**The short version**
Choose **GnuCash** if you want rigorous double-entry bookkeeping, investment and
share tracking, or the strongest multi-currency accounting engine available for
free — and you are happy in a desktop application, on your own.
Choose **Econumo** if you want **envelope budgeting**, access from a phone or any
browser, and a **shared budget with your household**. GnuCash does none of those
three well.
---
## At a glance
| | Econumo | GnuCash |
|---|---|---|
| **Licence** | MIT | GPL-2.0-or-later / GPL-3.0 |
| **Price** | Free self-hosted; $29.99 one-time cloud | Free |
| **In development since** | 2020 | 1997 |
| **First public release** | November 2024 | 1998 |
| **GitHub stars** | 79 | 4,290 |
| **Releases on GitHub** | 24 | 75 (2015 onward only) |
| **Latest release** | v1.1.1 (19 Jul 2026) | 5.16 (28 Jun 2026) |
| **Cadence** | Feature-driven | Strict quarterly, ~4/year |
| **Form factor** | Self-hosted web app | Desktop application (GTK) |
| **Platforms** | Any browser | Windows, macOS, Linux |
| **Language** | Go | C / C++ / Scheme |
| **Storage** | SQLite or PostgreSQL | XML file, or SQLite/MySQL/PostgreSQL |
| **Accounting model** | Envelope budgeting | Full double-entry |
| **Envelope budgeting** | ✅ | ❌ Ledger-delta budgets only |
| **Household sharing** | ✅ Per-item access | ❌ Single-user |
| **Mobile** | PWA | ❌ Android app unmaintained since 2018 |
| **Multi-currency** | ✅ | ✅ Best in class |
| **Investments / shares** | ❌ | ✅ With auto price quotes |
| **Bank sync** | ❌ CSV import | ⚠️ AqBanking (mostly EU banks) |
| **API** | ✅ REST + Swagger | ❌ Python/Scheme bindings only |
*Figures observed 18–19 July 2026 from the GitHub API, gnucash.org and each
project's documentation.*
---
## Licence
This is the one place where the two differ in a way that could matter legally.
Econumo is **MIT** — permissive, with no obligation to publish changes. GnuCash is
**GPL-2.0-or-later / GPL-3.0**, a copyleft licence: distribute a modified GnuCash
and you must release your modifications under the same terms.
For an individual user this makes no practical difference. For anyone building a
product on top, MIT is the less demanding choice.
*Note: GitHub's licence detector reports GnuCash as `NOASSERTION` because its
LICENSE file is a composite; the file itself specifies GPL v2 "or, at your option,
any later version", with an OpenSSL linking exception on some files.*
---
## Price
Both are free. GnuCash has no paid tier, no hosted service and no commercial
edition — it is funded by donations. Econumo's self-hosted edition is likewise
free, with an optional hosted cloud account at **$29.99 one-time per user**.
Since GnuCash runs on your own desktop, there is nothing to host and no running
cost either way.
---
## Popularity and longevity
GnuCash's popularity is best measured in decades rather than stars.
| | Econumo | GnuCash |
|---|---|---|
| GitHub stars | 79 | 4,290 |
| Forks | 2 | 963 |
| Contributors | small core team | ~317 |
| Age | ~6 years | ~28 years |
| Downloads | ~21,000 across two registries | ~67,000 in 3 months (SourceForge) |
Roughly 22,000 people download GnuCash every month, three-quarters of them on
Windows. Its star count understates it badly — GnuCash predates GitHub by a decade,
and much of its community lives on mailing lists, Bugzilla and its own wiki rather
than on GitHub.
**On project longevity, GnuCash is in a class of its own.** Very little software
of any kind has shipped continuously since 1998. If your main worry is a project
disappearing, that record is hard to argue with.
---
## Release history
GnuCash runs one of the most predictable release trains in open source: a stable
release in **late March, late June, late September and mid-to-late December**,
every year.
| Version | Released |
|---|---|
| 5.16 | 28 Jun 2026 |
| 5.15 | 29 Mar 2026 |
| 5.14 | 21 Dec 2025 |
| 5.13 | 28 Sep 2025 |
| 5.12 | 29 Jun 2025 |
The 75 releases visible on GitHub only reach back to 2015 — the project's true
release history runs to 1998 and is catalogued on
[gnucash.org](https://www.gnucash.org/news.phtml).
Econumo, by contrast, has shipped 24 public releases since November 2024 on a
feature-driven cadence, reaching 1.0 — and a Go and React rewrite — in July 2026.
---
## Features head to head
### Budgeting — Econumo's core, GnuCash's weak spot
GnuCash is a **general ledger** with a budget feature attached, and this is
consistently identified as its weakest area.
Its budget works by ledger deltas: you enter an expected change per account per
period, and GnuCash reports actuals against that expectation. There is no envelope
model, no moving money between categories mid-month, no per-envelope rollover, and
no intra-period tracking. The project's own wiki maintains a long-standing
[Budget Requirements](https://wiki.gnucash.org/wiki/Budget_Requirements) page
enumerating what is still unimplemented, and reviewers regularly report that users
never quite get the budget feature to fit how they think about money.
Econumo is built the other way around — [budgets](/docs/user-guide/budgets/) are
the primary object, organised as envelopes in folders with limits and available
amounts.
*Econumo's envelope budget. GnuCash's budget screen is a per-account grid of
expected period amounts.*
If you specifically want **envelope budgeting**, GnuCash is the wrong tool — and
the GnuCash community will generally tell you the same.
### Accounting rigour — GnuCash's core, Econumo does not compete
The reverse is just as true. GnuCash offers full **double-entry accounting**, with
every transaction balanced across accounts. It handles:
- Stocks, bonds and mutual funds, with automatic price quote retrieval
- Depreciation, accounts receivable/payable, invoicing and payroll basics
- Small-business accounting
- Scheduled transactions and a full reporting engine
- Fixed-point arithmetic throughout, avoiding floating-point rounding error
Econumo does none of this. It is a personal and family **budgeting** app, not a
bookkeeping system, and it has no investment tracking.
If you need to track a share portfolio or run books for a small business,
**choose GnuCash.**
### Multi-currency — both strong, GnuCash deeper
Both handle multiple currencies properly, which puts them ahead of much of the
field.
**GnuCash** is the more powerful engine: per-account currency denomination,
cross-currency transactions fully balanced through double-entry, automatic FX and
security price retrieval via Finance::Quote, and fixed-point arithmetic.
**Econumo** gives each account a fixed currency, records both amounts on
cross-currency transfers, and converts the whole budget into a single currency so
totals reconcile — see [Multi-Currency](/docs/user-guide/multi-currency/). That is
what a multi-currency *budget* needs, without the accounting machinery.
### Access and sharing — the practical difference
This is where the 28-year age gap shows most.
**GnuCash is a single-user desktop application.** There are no user accounts, no
permissions and no per-user views. Even with a SQL backend, concurrent multi-user
editing is not supported — sharing means passing a file around, or sharing one
database with locking. There is no web interface.
**Mobile is effectively absent.** GnuCash for Android last released in **June
2018** and is unmaintained; it was only ever a capture tool that exported back to
the desktop, never a sync client.
**Econumo** is a web app: any browser, any device, installable to the home screen
on [iPhone, Android, Mac and PC](/docs/apps/). Two people can hold separate logins
and [share specific accounts and budgets](/docs/user-guide/shared-access/) at a
chosen access level.
For a couple who both want to add a transaction from their phone in a shop, this
is decisive.
### Bank import
**GnuCash** imports QIF, OFX and CSV files, and supports live connections through
**AqBanking** — HBCI, EBICS and OFX Direct Connect. In practice, live bank sync is
largely a German and European story. GnuCash's own wiki describes OFX Direct
Connect as an obsolete protocol that most banks had stopped offering by 2024, so
most users outside the EU are on file import.
**Econumo** has no automatic bank import at all — this is a
[deliberate decision](/docs/faq/) — offering
[CSV import and export](/docs/user-guide/csv-import-export/) and a
[REST API](/docs/api/) instead.
GnuCash wins here, with the caveat that its live-sync advantage mostly applies to
European bank customers.
### Learning curve
GnuCash's most-cited complaint, ahead of even the dated GTK interface, is that
**you need to understand double-entry accounting before you can be productive**.
For someone who wants to know whether they can afford dinner out, that is a
substantial barrier. Its report builder also draws consistent criticism for being
clunky and hard to customise.
Econumo asks you to understand envelopes, and nothing more.
---
## Which should you choose?
**Choose GnuCash if:**
- You want real double-entry accounting and understand it, or want to learn
- You track investments, shares or a small business
- You need the deepest multi-currency and price-quote support available for free
- You are in Europe and want live HBCI/EBICS bank connections
- You work alone, on one desktop computer
- Three decades of continuous development is your definition of safe
**Choose Econumo if:**
- You want **envelope budgeting** rather than a general ledger
- You want to use it **from a phone or any browser**
- You want to **share a budget with your partner or family**, each with a login
- You want multi-currency budgeting without an accounting course
- You want a hosted option for a single $29.99 payment
These tools are different enough that "both" is a reasonable answer — GnuCash for
the books and investments, Econumo for the household budget. You can try Econumo
by starting a free [trial](https://app.econumo.com/register).
---
## Frequently asked questions
### Is GnuCash good for budgeting?
Budgeting is GnuCash's weakest area. It offers ledger-derived budgets — an expected
change per account per period — with no envelope model, no moving money between
categories and no per-envelope rollover.
### Can my partner and I use GnuCash together?
Not really. It is a single-user desktop application with no user accounts or
permissions; sharing means sharing a file or database. Econumo has per-user logins
and invitation-based sharing per account and per budget.
### Does GnuCash have a mobile app?
Not a maintained one. GnuCash for Android last released in June 2018 and was only
ever a companion capture tool. Econumo is a responsive web app installable to the
home screen.
### Is GnuCash still actively developed?
Yes — a strict quarterly release train, about four releases a year, with 5.16
shipping on 28 June 2026.
### Which has better multi-currency support?
GnuCash has the deeper accounting engine, including automatic price quotes and
fixed-point arithmetic. Econumo covers what multi-currency budgeting requires
without the accounting complexity.
---
*Last verified 19 July 2026 against the GitHub API, gnucash.org and each project's
documentation. If you spot something out of date,
[let us know](/docs/contact-us/).*
---
# FAQ
URL: https://econumo.com/docs/faq/
# Frequently Asked Questions
## Do you have plans to add automated import of transactions from banks?
Automated import of transactions from banks and other sources is not a priority at this point.
However, it might be added in the future as an optional feature.
As an alternative, you can use [CSV import](/docs/user-guide/csv-import-export/#exporting-your-transactions-to-csv).
If you have development skills and want to contribute, you are welcome to do so by using Econumo's API.
---
# Contact us
URL: https://econumo.com/docs/contact-us/
# Contact us
Please use [GitHub Issues](https://github.com/econumo/econumo/issues) to talk about the roadmap, features, and bugs.
For billing-related inquiries or partnership opportunities, email [econumo@gmail.com](mailto:econumo@gmail.com).
---
# Privacy Policy
URL: https://econumo.com/docs/legal/privacy-policy/
# Privacy Policy
## Introduction
Your privacy is important to us. It is Econumo's policy to respect your privacy regarding any information we may collect from you across our website, econumo.com, its subdomains, and other sites we own and operate (collectively, the "Sites"), and through the Econumo application itself, whether you use **Econumo** or **Econumo Self-Hosted** (the "App"). This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you visit any of our Sites or use the App. Please read this policy carefully to understand our practices regarding your information.
## 1. Information We Collect
We may collect and process the following types of information:
- **Personal Information:** We ask for personal information only when we truly need it to provide a service to you. This may include your name, email address, GitHub account, phone number, and other contact details.
- **Usage Data:** We automatically collect information about your interactions with our Sites, such as IP address, browser type, pages visited, and the duration of your visit.
- **Product Analytics:** When you use the App, we collect usage analytics that are linked to your account through a pseudonymous identifier. Section 5 describes exactly what this includes, what it excludes, and how to turn it off.
- **Cookies and Tracking Technologies:** We may use cookies, web beacons, and other tracking technologies to enhance your experience on our Sites. You can adjust your browser settings to control cookies; however, disabling cookies may limit certain functionalities.
## 2. How We Use Your Information
We use the information we collect for the following purposes:
- **To Provide and Improve Our Services:** Personalize your experience, improve our offerings, and provide requested information or services.
- **Communications:** Send you updates, promotional materials, and notifications regarding our services.
- **Analytics:** Analyze usage trends and measure the effectiveness of our Sites, and understand how the App is used so that we can improve it (see Section 5).
- **Legal Compliance:** Comply with legal obligations, enforce our terms, and protect the rights, property, or safety of Econumo, our users, and the public.
## 3. How We Share Your Information
We do not share personally identifying information publicly or with third parties, except as described below or when required by law. Product analytics data (Section 5) is never sold, shared with advertisers, or handed to anyone else.
- **For Legal Purposes:** We may disclose your information as required by law or if we believe it is necessary to protect our rights, respond to legal requests, or enforce our policies.
- **Business Transfers:** If we merge with or are acquired by another company, your information may be transferred as part of the transaction.
- **Payment Processing:** When you purchase Econumo, the order is processed by [Paddle](https://www.paddle.com/), our third-party payment processor and Merchant of Record. Your payment and billing details (such as name, email address, billing address, and payment card information) are collected and processed by Paddle in accordance with [Paddle's Privacy Policy](https://www.paddle.com/legal/privacy). We do not receive or store your payment card details.
## 4. Your Choices
You have the following choices regarding your information:
- **Access and Correction:** You may request access to the personal information we hold about you and correct any inaccuracies.
- **Opt-Out:** You may opt out of receiving promotional emails from us by following the unsubscribe link or contacting us directly.
- **Product Analytics:** You can turn product analytics off at any time from within the App, under **Settings → Personal settings**, in the "Privacy" section. See Section 5 for details.
- **Cookie Preferences:** You can modify your browser settings to manage cookie preferences.
## 5. Product Analytics
The App sends us usage analytics so we can see which features are used and where people get stuck. This applies to Econumo and to Econumo Self-Hosted alike.
**What we collect.** Each event carries a pseudonymous identifier derived from your account by a one-way hash, so we can connect events from the same account over time. Alongside it we record how you use the App (which features and actions, as event names only) and general characteristics of your account and setup, such as how large your account is (counts, not the items themselves), roughly when you registered, the App version and platform, your display language, your subscription status, and whether you use Econumo or Econumo Self-Hosted (a self-hosted installation is identified by a one-way derived value, not by its address).
**What we never collect.** No financial data: no amounts, balances, transaction descriptions, or transaction dates. No names of your accounts, categories, payees, or tags. No email address or name. Your installation's hostname and network address reach our collector as part of any web request, but we do not store them.
**Linking to your account.** The identifier is pseudonymous, not anonymous: it lets us see that events belong to the same account without telling us whose account it is. On Econumo we can match it back to your account when there is a reason to, such as investigating a support request. On Econumo Self-Hosted the identifier is derived inside your own environment, so we have no way to match it to you.
**Turning it off.** Open **Settings → Personal settings** in the App and use the "Privacy" section. It takes effect immediately and applies to that account only; other accounts you have access to keep their own setting. You can turn it back on the same way. This is how you object to this processing, which we carry out on the basis of our legitimate interest in improving Econumo.
**Storage and sharing.** We run the analytics collector ourselves, on our own infrastructure. No third-party analytics service is involved, and the data is never sold, shared with advertisers, or passed to anyone else. Events are kept for up to 3 years and then deleted.
## 6. Data Security
We implement appropriate security measures to protect your information. However, please note that no method of transmission over the internet is completely secure, and we cannot guarantee absolute security.
## 7. Data Retention
We only retain collected information for as long as necessary to provide you with your requested service. Product analytics events are retained for the period stated in Section 5. Data is stored and protected using commercially acceptable means to prevent loss, theft, unauthorized access, disclosure, copying, use, or modification.
You may request that we delete your personal information, subject to certain exceptions provided by law.
## 8. Data Controller and Processor Role
We act in the capacity of a data controller and a data processor with regard to the personal data processed through Econumo and its services in compliance with applicable data protection laws, including the EU General Data Protection Regulation (GDPR).
## 9. Links to External Sites
Our Sites may link to external sites that are not operated by us. Please be aware that we have no control over the content and practices of these sites and cannot accept responsibility or liability for their respective privacy policies.
## 10. Children’s Privacy
Our Sites are not intended for individuals under the age of 16. We do not knowingly collect personal information from children under 16. If you become aware that a child has provided us with personal information, please contact us, and we will take steps to delete such information.
## 11. Changes to This Privacy Policy
We may update this Privacy Policy from time to time. We will notify you of any material changes by posting the new Privacy Policy on this page and updating the effective date.
## 12. Contact Us
If you have any questions about this Privacy Policy or our practices, please contact us at: econumo@gmail.com
---
This policy is effective as of 6 September 2026.
---
# Terms of Service
URL: https://econumo.com/docs/legal/terms-of-service/
# Terms of Service
By using our websites, services, and products (collectively referred to as the "Software"), you agree to these Terms of
Service ("Terms"). Please read them carefully. If you do not agree, please discontinue using our Software.
Econumo is operated by Dmitry Kuznetsov, sole proprietor, British Columbia, Canada ("we", "us", or "Econumo").
## 1. Acceptance of Terms
By accessing or using the Software, you confirm that you accept these Terms and agree to abide by them.
## 2. Effective Date
These Terms are effective from the date you first use the Software.
## 3. Software Versions
Econumo offers different versions to suit your needs:
- **Econumo**: The hosted service at [app.econumo.com](https://app.econumo.com/), for individuals and families who
prefer easy, remote access to financial management tools. Operated by us, it provides lifetime access after a
one-time payment.
- **Econumo Self-Hosted**: A free, open-source version of the platform that you run on your own infrastructure, for
individuals and families who value privacy and control over their finances.
### Licensing
The Software includes both open-source and proprietary components. By using the Software, you agree to comply with the
applicable licensing terms.
## 4. User Accounts
- **Econumo** Users: Must create an account to access the hosted service. Please provide accurate information
and keep your login details secure. You're responsible for all activities under your account.
- **Econumo Self-Hosted** Users: No account registration with us is necessary.
## 5. License and Restrictions
We grant you a limited, non-exclusive, non-transferable license to use the Software for personal, non-commercial
purposes, in accordance with these Terms.
You agree not to:
- Use the Software in a way that violates any laws or regulations.
- Attempt to interfere with the proper functioning of the Software.
- Distribute, modify, or create derivative works of proprietary components without permission.
## 6. Payments
The order process for **Econumo** is conducted by our online reseller [Paddle](https://www.paddle.com/), which
acts as the Merchant of Record for all orders. Paddle handles billing, payment processing, applicable taxes, and
customer payment inquiries. Your order confirmation and receipt are issued by Paddle. By purchasing Econumo you
also agree to Paddle's [Checkout Buyer Terms](https://www.paddle.com/legal/checkout-buyer-terms).
### Refunds
You can request a full refund of an **Econumo** purchase within 14 days of purchase, either through Paddle or by
contacting us. After that period, refunds are issued at our discretion. Refunds are paid to the original payment
method, and your statutory consumer rights are not affected. See our [Refund Policy](/docs/legal/refund-policy/)
for full details.
We encourage you to start a free trial at [app.econumo.com](https://app.econumo.com/register) or use **Econumo Self-Hosted** before purchasing **Econumo** to ensure the Software meets your needs.
## 7. Third-Party Links
Our Software may include links to third-party websites or services. We're not responsible for their content or
practices. Please review their terms and privacy policies.
## 8. Disclaimer of Warranties
We provide the Software "as is" and "as available," without warranties of any kind. Your use of the Software is at
your own risk.
## 9. Limitation of Liability
To the maximum extent permitted by law, we are not liable for any damages arising from your use of the Software.
This includes, without limitation:
- **Direct Damages**: Any direct losses or damages.
- **Indirect Damages**: Losses that are not a direct result of our actions.
- **Incidental Damages**: Minor damages that occur as a secondary result.
- **Special or Consequential Damages**: Damages that are not foreseeable at the time of entering into this agreement.
- **Punitive Damages**: Damages intended to punish wrongful conduct.
Even if we have been advised of the possibility of such damages, we are not liable.
## 10. User Responsibilities
You're responsible for your actions and any content you generate using the Software. We're not responsible for any
outcomes resulting from your use of the financial management tools.
## 11. Price Changes
Prices may change as we improve and expand Econumo. Any changes in pricing will not affect purchases you've already
made.
## 12. Changes to These Terms
We may update these Terms occasionally. We'll post changes on this page with a new effective date. Continued use
after changes means you accept the new Terms.
## 13. Termination of Service
### By Econumo
We may discontinue or terminate the Software or any part of it at any time for various reasons.
#### Data Export and Transition
If we terminate **Econumo**:
- **Data Export**: You'll have the ability to export your data within three months of the termination announcement.
After that period, data will be deleted.
### By You
You can stop using our services at any time. To delete your account or export data, contact us at econumo@gmail.com.
## 14. Governing Law
These Terms are governed by the laws of Canada, without regard to conflict of law principles.
## 15. Contact Us
If you have any questions or concerns, please reach out: econumo@gmail.com
---
Last Updated: September 5, 2026
---
# Refund Policy
URL: https://econumo.com/docs/legal/refund-policy/
# Refund Policy
This Refund Policy applies to purchases of **Econumo**, the hosted service at
[app.econumo.com](https://app.econumo.com/). **Econumo Self-Hosted** is free and open source, so no refunds apply to it. Please read this policy together with our [Terms of Service](/docs/legal/terms-of-service/).
## 1. Purchases and Merchant of Record
Purchases of Econumo are processed by [Paddle](https://www.paddle.com/), which acts as the Merchant of Record
for our orders. This means Paddle handles billing, payment processing, applicable taxes, and payment-related
customer inquiries. Your order confirmation and receipt are issued by Paddle, and the charge on your statement will
appear under Paddle's name.
## 2. Try Before You Buy
We recommend evaluating Econumo before purchasing. Every new account comes with a **45-day free trial**, and no
payment card is required to start it. You can sign up at [app.econumo.com](https://app.econumo.com/register). You
can also run **Econumo Self-Hosted** for free to see whether the Software meets your needs.
## 3. Refund Window
If Econumo does not work out for you, you can request a **full refund within 14 days of purchase**, no questions
asked. To request a refund, either:
- Contact Paddle directly at [paddle.net](https://paddle.net/), using the email address you used at checkout or the
order details from your receipt; or
- Email us at [econumo@gmail.com](mailto:econumo@gmail.com) with your order number, and we will arrange the refund
with Paddle on your behalf.
## 4. After the Refund Window
After the 14-day window has passed, refunds are issued at our discretion. We will consider a refund in exceptional
cases, for example when a technical issue caused by us prevents you from using Econumo and we have been unable
to resolve it. Please contact us at [econumo@gmail.com](mailto:econumo@gmail.com) and describe the problem.
## 5. How Refunds Are Paid
Refunds are issued to the original payment method used for the purchase. Depending on your bank or card issuer, it
may take several business days for the refund to appear on your statement. Once a refund is issued, access to
Econumo for the refunded purchase is revoked.
## 6. Your Statutory Rights
Nothing in this policy limits any rights you have under applicable consumer protection law. In particular, if you are
a consumer in the European Union, the United Kingdom, or another jurisdiction with statutory withdrawal or
cancellation rights, those rights are not affected by this policy.
## 7. Changes to This Policy
We may update this Refund Policy from time to time. We will post changes on this page with a new effective date.
Changes do not affect purchases made before they take effect.
## 8. Contact Us
If you have any questions about this Refund Policy, please reach out: econumo@gmail.com
---
Last Updated: September 5, 2026