Wallets & Balances
Wallets are the backbone of the bot. Think of them as labeled balance buckets—cash accounts, cards, investment pots—that keep your transactions organised.
Listing wallets
/wallet(or/wallet list) shows your wallets. Tap one to see details, transfer funds, or manage settings.- The star (⭐) icon marks your default wallet (used when no
@walletis specified). - Credit wallets highlight their settlement day so you know when the next bill hits.
Creating wallets
/wallet add Travel regular currency=IDR default=no
/wallet add Brokerage investment currency=IDR
/wallet add Visa credit currency=IDR limit=20000000 settlement=25
Rules:
- Name must be unique per user.
- Currency defaults to IDR but can be changed per wallet.
- Credit wallets can optionally track
credit_limit,settlement_day(1-28), andkind=cc|paylater; usekind=paylaterwhen the vendor bills you after the transaction so settlement day is optional. - Setting
default=yesmakes the new wallet the landing spot for future/addcommands.
Editing wallets
/wallet edit Visa name=Visa Platinum settlement=20 limit=25000000
/wallet edit Travel currency=USD
You can update name, currency, limits, settlement day, or kind. The bot responds with "Wallet 'NAME' updated."
Switching the default wallet
/wallet default Main Wallet- use this when you temporarily switched to a travel wallet and want to go back.- You cannot delete the current default wallet; set another wallet as default first.
Transferring between wallets
/wallet transfer 200000 Main Wallet Brokerage note=April top-up
The bot executes a withdrawal from the source and a deposit into the destination so your history stays balanced.
Manual adjustments
/wallet adjust Main Wallet -5000 desc=Correction date=2025-11-01
Use /wallet adjust when the wallet value changes without an explicit transfer (bank fees, interest, investment revaluation, and so on). Provide the target balance (not the delta); the bot automatically adds or removes the gap. Optional desc=/date= tokens describe the correction.
Credit-funded loans
/lendcredit <credit-wallet> <name> <amount>records a credit purchase and creates the receivable at the same time. Addinstallments=to split the card payment,desc=to describe the credit spend, andnote=to document the lending details. The response reports when the next payment is due.
Credit wallet kinds
kind=cc(the default) groups every purchase in a billing cycle and charges it on the wallet's settlement day. You must setsettlement_daywhen creating or editing this kind of wallet.kind=paylateris for BNPL accounts; purchases fall due one month later, or you can spread them overinstallments=3,6,12. Settlement days are optional because each transaction carries its own due date.
Sharing wallets
- Wallet owners can invite another registered user to share a wallet with either view or write access. View access allows seeing history but prevents adding/editing transactions. Write access allows full management.
- Invited users must accept the invitation before they gain access. Declining to accept keeps the share in a pending state. When an invitation is sent from Telegram, the invitee also receives a DM with the share ID and a one-tap accept command.
- Owners can resend an invitation (which resets it to pending) or change a collaborator’s access level between view/write at any time.
- Listing a wallet’s shares shows who has been invited and whether they have accepted.
Deleting wallets
/wallet delete Travel confirm=yes
Safeguards:
- The default wallet cannot be deleted (you’ll get
Cannot delete the default wallet.). - Existing transactions and debts remain in the database. Their
wallet_idis set tonull, so history is preserved without breaking references. - If you recreated a wallet with the same name, it’s considered a new wallet with its own ID.