Skip to content
vokse.

One register for every movement

Bank sync, a CSV, OFX or JSON file, a receipt, a voice memo, the assistant or your own typing: it all lands in one register, newest first. Flag it, search it, attach the receipt and reconcile it when the statement arrives.

The vokse transaction register with the flag column, filters, cleared marks and the receipts tray count

Flags your household names

Six colour flags come with every household, named in its language. Rename them to mean what you need, put one on a row, and find it again with a filter, in bulk or from the keyboard.

  • Named per household

    Red to purple, written in your household's data language. Rename any flag; a blank name restores the default.

  • Filter on them

    The Flags filter offers Any flag or exactly the ones you pick, in the register and wherever it appears.

  • Flag in bulk

    Select rows and set or remove a flag from the bulk bar in one move, next to categorise and mark cleared.

  • Keyboard first

    On a focused row the digits 1 to 6 set a flag and 0 clears it. The picker shows the same hints.

The assistant can flag rows too
The register's flag filter open, listing Any flag and the six named colour flags

One search box reaches transactions, payees, categories and tags. Results are ranked by how closely they match your text, each kind in its own tab, from any screen.

  • Transactions, payees, categories, tags

    Type a payee, a memo fragment, a category or a tag and each kind of match lands in its own tab with a count.

  • Scored, not guessed

    Matches are ranked by how closely they fit your text, and a plain substring match is never dropped. It searches what you wrote; it does not interpret it.

  • From any screen

    The search box in the header opens it wherever you are, with a keyboard shortcut.

The search page with results for one payee name, grouped by kind in tabs

The standing rules of the register

  • Flags belong to the household

    Six flags are created the first time anything reads them, named in the household's data language. A YNAB import keeps their colours and adopts your names. One flag per row; tags carry the rest.

  • A bank row folds into yours

    When a synced movement twins a row you typed on the same account, for the same amount and a few days apart, the bank row folds into yours. Your payee, category, memo, tags and flag survive; the row takes the bank's booking date and clears. Two possible twins go to the review queue instead of a guess, and every merge can be undone.

  • Pending rows do not linger

    A row you typed that the bank never reported stays pending on a bank-fed account. A quiet banner counts them, and a sheet clears or deletes them one by one or all at once, every write with its undo.

  • Rules can drop noise

    A rule with the ignore action removes a bank line before it reaches the register: a duplicated fee, a processor placeholder. The drop is recorded and undoable, never silent.

  • A receipt has one home

    A receipt belongs to at most one transaction; a transaction can carry several. Attach on upload, from the tray or by confirming; detach returns it. Every link is audited.

  • Merchants resolve once

    At import, each merchant is looked up by normalised name, then by alias, and created if missing, as an audited system action rather than a history event. Older imports heal on the next sync; where the normaliser keeps two merchants apart, an alias joins them.

vokse.

Every movement in one register you can flag, search, document and reconcile.