Skip to main content

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 @wallet is 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), and kind=cc|paylater; use kind=paylater when the vendor bills you after the transaction so settlement day is optional.
  • Setting default=yes makes the new wallet the landing spot for future /add commands.

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. Add installments= to split the card payment, desc= to describe the credit spend, and note= 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 set settlement_day when creating or editing this kind of wallet.
  • kind=paylater is for BNPL accounts; purchases fall due one month later, or you can spread them over installments=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_id is set to null, 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.