Managing Accounts
Accounts represent where your money lives — bank accounts, e-wallets, credit cards, or cash.
Creating an account
/newaccount
You'll be asked for:
- Name — e.g. "Maybank", "Touch n Go", "Cash", "CIMB Credit Card"
- Type — Bank / E-Wallet / Cash / Credit Card
- Balance — starting balance (e.g. 2500.00)
- Currency — pick from MYR, USD, SGD, EUR, GBP, AUD, JPY, CNY, or type any other ISO code (e.g. THB, HKD)
Credit card accounts
When you choose Credit Card as the type, the balance shown is your outstanding debt — not your available credit.
- Expenses increase outstanding (you owe more)
- Payments and income decrease outstanding (you've paid some off)
- Outstanding of 0 means the card is fully paid off
You can optionally set a credit limit. Once your outstanding reaches the limit, new expenses to that account are blocked until you pay some off.
To pay off your credit card from another account, use a transfer (see below).
Each account has its own currency. When you log an expense in a different currency, Duitbot automatically converts the amount to your account's currency using live exchange rates.
Accounts are never created automatically from expense messages. You must create them with /newaccount before you can link expenses to them.
Viewing accounts
/accounts
Lists all your accounts with current balances. Shows both personal accounts and any accounts shared with your active group.
Account limits by plan
| Plan | Max accounts |
|---|---|
| Free | 2 |
| Pro | 5 |
| Ultimate | Unlimited |
Transferring between accounts
Move money between your own accounts using natural language or the /transfer command:
transfer 500 from Maybank to CIMB
pay credit card bill 300 from Savings
/transfer
The bot shows a preview before executing so you can confirm the amounts. For credit card accounts, paying off a bill correctly reduces the outstanding balance.
If the destination is a credit card, the transfer amount cannot exceed the current outstanding balance — you can't overpay into a negative outstanding.
Credit card accounts can only be the destination of a transfer (receiving a payment). Using a credit card as the source is not supported — if you need to record a cash advance, adjust the balances manually via /accounts.
Editing an account
In /accounts, tap Edit next to any account to change its name, type, balance, or currency. For credit card accounts, you can also edit the Credit Limit.
Deleting an account
Tap Delete next to an account. Existing expenses linked to that account remain — only the account record is removed.
Setting your default currency
/setcurrency
Sets the currency Duitbot assumes when you don't mention one in a message. Defaults to MYR. The current default is shown with a ✓ in the picker.
Currency inference priority:
- Currency stated explicitly in the message (e.g. "15 USD", "50 SGD")
- Currency of the account named in the message
- Your default currency
Topping up an account
When you receive money into an account (other than tracked income), just tell the bot:
topup 500 Maybank
added 200 to Touch n Go
This increases the account balance without creating an income record.
When you're in a group, topups can target both personal and group shared accounts.
Group accounts
When you're in a group, you can create accounts that belong to the group instead of just yourself. Group members can all see and use group accounts when logging expenses.
Account names are unique within each scope — so you can have a personal "Maybank" and a group "Maybank" without conflict.
See Group Expense Sharing for more.
How account linking works
When you mention an account name in an expense or income message, Duitbot fuzzy-matches it:
- Exact match (case-insensitive) — preferred
- Contains match — if your input is contained in an account name or vice versa
- Similarity match — if the names are similar enough
If multiple accounts match equally well, Duitbot shows a picker for you to choose.
When the matched name differs from what you typed, Duitbot tells you which account it linked to, so there are no silent surprises.