| Crates.io | mot |
| lib.rs | mot |
| version | 0.3.3 |
| created_at | 2025-04-15 09:56:29.622194+00 |
| updated_at | 2025-05-19 08:58:45.808507+00 |
| description | A terminal user interface (TUI) tool for moneybird |
| homepage | |
| repository | https://github.com/Tuurlijk/mot |
| max_upload_size | |
| id | 1634231 |
| size | 1,069,588 |
A beautiful terminal-based interface for managing your MoneyBird time entries with style.

cargo install mot
Pre-built binaries and packages are available on the GitHub releases page for multiple platforms and architectures:
.deb packagesEach release includes SHA256 checksums for verifying file integrity.
# Linux x86_64 example
curl -L https://github.com/Tuurlijk/mot/releases/download/[version]/mot-linux-x86_64.tar.gz | tar xz
./mot
# Or install using your system's package manager
# Debian/Ubuntu
sudo dpkg -i mot_[version]_amd64.deb
# Homebrew (macOS)
brew install mot
Replace [version] with the desired release version (e.g., v1.4.56).
On first run, MOT will create a default configuration file at:
~/.config/mot/config.toml%APPDATA%\mot\config.tomlYou'll need to edit this file to add your MoneyBird API token:
access_token = "your_moneybird_api_token"
api_url = "https://moneybird.com/api/v2"
administration_id = "your_administration_id" # Optional
week_starts_on = "monday" # Options: monday, tuesday, wednesday, thursday, friday, saturday, sunday
language = "en" # Options: en, nl (Optional, defaults to system language)
MOT includes a plugin system that allows integrating time entries from external sources. Plugins use a simple JSON-RPC protocol over stdin/stdout, making them easy to implement in any language.
p in the main view to see loaded plugins.Space to toggle a plugin's activation status (requires restart to take effect) and Ctrl+D
to debug the selected plugin.i.The application automatically detects the standard configuration directory for your system:
$XDG_CONFIG_HOME/mot/plugins or defaults to $HOME/.config/mot/plugins/~/Library/Application Support/mot/plugins/%APPDATA%\mot\plugins\Each plugin should be in its own subdirectory with the required files:
manifest.toml - Plugin metadata.config.toml - Plugin configuration (including an enabled = true/false key).The repository includes example plugins in various languages:
# Install the hello example plugin (Bash)
examples/plugins/install-hello-plugin.sh
# Install the Python example plugin
examples/plugins/install-python-plugin.sh
For detailed plugin development information, see docs/Plugins.md.
Besides the examples included in the repository, here's a known community plugin:
MOT provides full internationalization support for all user-facing text:
Supported Languages:
Setting the Language:
mot -l nl or mot --language nllanguage = "nl" to your config.tomlYou can also override the language for a single session by using the command line flag, which takes precedence over the configuration file setting.
Simply run mot to start the application. Use the following keyboard shortcuts:
◀ / h: Previous week▶ / l: Next weekt: Go to current weekr: Refresh time entries▲ / k: Move selection up▼ / j: Move selection downp: View pluginsq: Quit the applicationF12: Toggle log panel visibilityc: Create a new time entrye / Enter / Space: Edit selected time entryd / Delete: Delete selected time entry (with confirmation)x: Export current view to CSV (with confirmation)i: Import selected plugin time entry into MoneyBirdf / /: Enter search/filter modeEsc: Exit search modeCtrl+U: Clear search inputTab: Move to next fieldShift+Tab: Move to previous fieldCtrl+S: Save changes (create or update entry)Esc: Cancel editing / Hide autocomplete dropdownEnter: Select highlighted autocomplete item / Move to next field if no dropdown↑ / ↓: Navigate autocomplete dropdownCtrl+U: Clear autocomplete inputEnter: Move to next fieldShift+Enter: Insert newlineEnter: Move to next field↑ / k: Select previous plugin↓ / j: Select next pluginSpace: Toggle activation status of selected plugin (requires restart)Ctrl+D: Debug selected plugin (show response / initialization info)p / Esc: Return to main viewq: Quit the application↑ / k: Select previous user↓ / j: Select next userEnter: Confirm selected user and save to configEnter / y: Confirm action / Dismiss info/error modalEsc / n: Cancel action / Dismiss modalContributions are welcome! Please feel free to submit a Pull Request.
git checkout -b amazing-feature)git commit -m 'Add some amazing feature')git push origin amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.