Norman AI CLI
Agentic accounting & taxes from the terminal.
Norman AI is a command-line tool that gives you terminal access to invoices, transactions, tax reports, clients, documents, and more — plus an AI agent that handles complex workflows in natural language.
Installation
pip install norman-ai-cli
Quick Start
# Log in (opens browser)
norman-ai auth login
# Check your balance
norman-ai company balance
# Ask AI anything
norman-ai ask "What are my expenses this month?"
# Create an invoice
norman-ai ask "Create an invoice for Acme Corp, 2500 EUR for consulting"
# Interactive chat
norman-ai chat
# List transactions as JSON
norman-ai transactions list --json
Features
- 60+ CLI commands — invoices, transactions, clients, taxes, bills, documents, categories
- AI Agent — natural language queries with autonomous multi-step workflows
- Smart Prompts — pre-built templates for common tasks
- Multiple output formats — table, JSON, agent mode (auto-detect piped vs TTY)
- OAuth login — secure browser-based authentication
- Agent-ready —
--agentmode, piping,--no-inputfor CI/CD
Authentication
Three ways to log in:
# OAuth (recommended) — opens browser
norman-ai auth login
# Email/password
norman-ai auth login --password
# API key (for CI/CD)
norman-ai auth login --api-key
Command Groups
| Group | Description |
|---|---|
auth |
Login, logout, status, switch company |
ask |
One-shot AI agent query |
chat |
Interactive AI chat session |
company |
Company details, balance, DATEV export |
transactions |
List, create, update, categorize, verify |
invoices |
List, create, send, remind, e-invoice XML |
clients |
List, create, update, delete |
taxes |
Reports, VAT next, stats, submit, validate |
bills |
List, create, scan, pay, payment orders |
documents |
List, upload, link to transactions |
categories |
SKR search, AI suggest, create |
advisor |
Tax advisor tools (overview, compliance, ping) |
Global Flags
| Flag | Description |
|---|---|
--json |
Output as JSON |
--table |
Force table output |
--wide |
Show all columns |
--agent |
Machine-readable JSON (auto when piped) |
--quiet |
Suppress progress |
--no-input |
Disable prompts (CI/scripts) |
--dry-run |
Preview without executing |
--debug |
Verbose logging |
--env |
production or sandbox |
AI Agent Integration
Norman AI works with Claude Code, Cursor, and any MCP-compatible client:
# Claude Code
claude mcp add norman-finance -- npx @anthropic-ai/remote-mcp-server https://mcp.norman.finance/mcp
# Pipe to other tools
norman-ai transactions list --json | jq '.results[].amount'
# CI/CD
NORMAN_API_KEY="your-key" norman-ai invoices list --no-input --json
Documentation
Full documentation: app.norman.finance/norman-cli/docs
License
MIT — Norman AI GmbH
Metadata
Release files for norman-ai-cli 0.1.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| norman_ai_cli-0.1.11.tar.gz | 29.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| norman_ai_cli-0.1.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 71.7 kB
Release files / norman_ai_cli-0.1.11.tar.gz
| Download URL | norman_ai_cli-0.1.11.tar.gz |
|---|---|
| Size | 29.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8ba1c577ee1a0ce0c3160c6c2d76300d938ee3b9d85b5dca5e7c0859852c1839
|
|
BLAKE2b-256 checksum How to use checksums |
6473e44b5b10b4dd144811fbd47481d784485d134fd204985dac352362cf429d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / norman_ai_cli-0.1.11-py3-none-any.whl
| Download URL | norman_ai_cli-0.1.11-py3-none-any.whl |
|---|---|
| Size | 41.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fada742c2852210a085f0267f7e25d5e3aebd17f0e2c404e28bcfc07449e849a
|
|
BLAKE2b-256 checksum How to use checksums |
1e3e60f5a4794ada87aabd0e542022462729284c5b18fa2fd2d9811ce16b7f15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|