tiime-cli
v2.4.0
Published
CLI for Tiime accounting
Downloads
233
Maintainers
Readme
Tiime CLI
CLI pour la comptabilite Tiime — pilotez votre compta depuis le terminal.
Sortie JSON par defaut, ideal pour les agents IA et l'automatisation.
Fonctionnalites
- Factures — lister, creer, dupliquer, modifier, envoyer, telecharger le PDF, supprimer
- Devis — lister, creer, envoyer, telecharger le PDF
- Clients — consulter, creer, rechercher
- Banque — soldes, comptes, transactions (filtres date/recherche), operations non imputees
- Notes de frais — lister, creer, consulter
- Documents — parcourir, uploader, telecharger, categories
- Labels & Tags — labels personnalises, labels standards, tags
- Multi-format — sortie JSON (defaut), table ou CSV via
--format - Bilingue — aide en francais ou anglais (detection automatique de la langue systeme)
- Retry automatique — retry avec backoff sur erreurs 429/5xx
Installation
Via npm
npm install -g tiime-cliVia Homebrew
brew tap yabbal/tap
brew install tiimeDepuis les sources
git clone https://github.com/yabbal/tiime.git
cd tiime
pnpm install
pnpm build
pnpm link --globalVerifiez que l'installation fonctionne :
tiime --helpAutocompletion shell
# zsh (ajoutez a ~/.zshrc)
eval "$(tiime completion --shell zsh)"
# bash (ajoutez a ~/.bashrc)
eval "$(tiime completion --shell bash)"
# fish
tiime completion --shell fish | sourceConfiguration
1. Authentification
Mode interactif :
tiime auth loginMode script / CI :
tiime auth login --email [email protected] --password votre-mot-de-passeVerifier le statut :
tiime auth status2. Selection de l'entreprise
Listez vos entreprises puis selectionnez-en une :
tiime company list
tiime company use --id 12345Verifiez l'entreprise active :
tiime company get3. Langue
L'aide s'affiche automatiquement dans la langue de votre systeme (francais ou anglais).
Pour forcer une langue :
# Forcer le francais
TIIME_LANG=fr tiime --help
# Forcer l'anglais
TIIME_LANG=en tiime --help
# Ou exporter la variable
export TIIME_LANG=en
tiime invoices --helpUtilisation
Resume rapide
tiime status # Resume avec soldes, factures, devis, transactionsAuthentification
tiime auth login # Connexion interactive
tiime auth logout # Deconnexion
tiime auth status # Statut du tokenEntreprise
tiime company list # Lister les entreprises
tiime company get # Details de l'entreprise active
tiime company use --id ID # Definir l'entreprise active
tiime company me # Info utilisateur courantFactures
# Lister
tiime invoices list
tiime invoices list --status paid
tiime invoices list --sort invoice_number:asc
tiime invoices list --all # Toutes les pages
tiime invoices list --format table # Affichage tableau
# Details
tiime invoices get --id 42
# Creer une facture simple
tiime invoices create \
--client-id 100 \
--description "Prestation de conseil" \
--unit-price 800 \
--quantity 5 \
--unit day \
--vat normal
# Creer une facture multi-lignes
tiime invoices create \
--client-id 100 \
--lines '[{"description":"Dev","quantity":20,"unit_price":540,"unit":"day"},{"description":"Design","quantity":5,"unit_price":450,"unit":"day"}]'
# Previsualiser sans creer
tiime invoices create --client-id 100 --description "Test" --unit-price 500 --dry-run
# Modifier
tiime invoices update --id 42 --title "Nouveau titre"
# Dupliquer
tiime invoices duplicate --id 42
tiime invoices duplicate --id 42 --date 2026-03-01 --quantity 18
# Envoyer par email
tiime invoices send --id 42 --email [email protected]
# Telecharger le PDF
tiime invoices pdf --id 42
tiime invoices pdf --id 42 --output ma-facture.pdf
# Supprimer un brouillon
tiime invoices delete --id 42Devis
tiime quotations list # Lister les devis
tiime quotations get --id 10 # Details d'un devis
tiime quotations create \ # Creer un devis
--client-id 100 \
--description "Mission conseil" \
--unit-price 600 \
--quantity 10
tiime quotations pdf --id 10 # Telecharger le PDF
tiime quotations send --id 10 --email [email protected] # EnvoyerClients
tiime clients list # Lister les clients actifs
tiime clients list --archived # Inclure les archives
tiime clients get --id 100 # Details d'un client
tiime clients create --name "ACME" --email [email protected]
tiime clients search --query "acme"Banque
tiime bank accounts # Lister les comptes bancaires
tiime bank balance # Soldes de tous les comptes
tiime bank transactions # Dernieres transactions
tiime bank transactions --from 2026-01-01 --to 2026-01-31
tiime bank transactions --search "loyer" --all
tiime bank unimputed # Transactions non imputeesNotes de frais
tiime expenses list # Lister les notes de frais
tiime expenses get --id 5 # Details d'une note
tiime expenses create --name "Deplacement client" # CreerDocuments
tiime documents list # Lister les documents
tiime documents list --type receipt # Filtrer par type
tiime documents categories # Categories disponibles
tiime documents upload --file facture.pdf
tiime documents download --id 123 --output doc.pdfLabels & Tags
tiime labels list # Labels personnalises
tiime labels standard # Labels standards (plan comptable)
tiime labels tags # TagsOutils
tiime open # Ouvrir Tiime dans le navigateur
tiime open invoices # Ouvrir la section factures
tiime version # Afficher la versionFormats de sortie
Toutes les commandes de listing supportent --format :
tiime invoices list --format json # JSON (defaut)
tiime invoices list --format table # Tableau ASCII
tiime invoices list --format csv # CSV
tiime bank balance --format table
tiime clients list --format csv > clients.csvPipe avec jq
La sortie JSON se combine naturellement avec jq :
# Noms des clients
tiime clients list | jq '.[].name'
# Total des factures payees
tiime invoices list --status paid --all | jq '[.[].total_including_taxes] | add'
# Transactions > 1000 EUR
tiime bank transactions --all | jq '[.[] | select(.amount > 1000)]'
# Solde du premier compte
tiime bank balance | jq '.[0].balance_amount'Workflows
Creer et dupliquer une facture mensuelle
# Premier mois : creer la facture de reference
tiime invoices create \
--client-id 100 \
--description "Prestation mensuelle - Janvier 2026" \
--unit-price 540 \
--quantity 20 \
--unit day
# Mois suivants : dupliquer en ajustant la date et la quantite
tiime invoices duplicate --id 42 --date 2026-02-01 --quantity 18Voir un resume financier
# Resume complet (soldes, factures, devis, clients)
tiime status
# Ou manuellement avec jq
tiime bank balance | jq '.[] | {name, balance_amount}'
tiime invoices list --status sent --all | jq 'length'
tiime bank unimputed | jq 'length'Explorer les transactions du mois
# Transactions de janvier
tiime bank transactions --from 2026-01-01 --to 2026-01-31 --all \
| jq 'group_by(.amount > 0) | {depenses: .[0] | length, revenus: .[1] | length}'
# Chercher une transaction specifique
tiime bank transactions --search "adobe" --allExporter des donnees en CSV
# Via --format csv
tiime invoices list --all --format csv > factures.csv
# Ou avec jq pour un CSV personnalise
tiime clients list \
| jq -r '["id","nom","ville"], (.[] | [.id, .name, .city]) | @csv' \
> clients.csvSDK
Le SDK TypeScript est disponible dans un package separe : tiime-sdk
npm install tiime-sdkimport { TiimeClient } from "tiime-sdk";
const client = new TiimeClient({ companyId: 12345 });
const invoices = await client.invoices.list({ status: "paid" });Voir la documentation SDK pour plus de details.
Variables d'environnement
| Variable | Description | Defaut |
|----------|-------------|--------|
| TIIME_LANG | Langue de l'aide (fr ou en) | Detection automatique |
Claude Code Skill
Ce CLI est concu pour etre utilise comme skill Claude Code. L'agent peut piloter votre comptabilite Tiime directement depuis une conversation :
- Sortie JSON structuree, facilement parseable par l'IA
- Toutes les commandes sont non-interactives (sauf
auth loginsans arguments) - Combinable avec
jqpour des analyses complexes
Pour l'activer, ajoutez le skill dans votre configuration Claude Code (.claude/skills/).
Stack technique
| Outil | Role | |-------|------| | TypeScript | Langage | | citty | Framework CLI | | ofetch | Client HTTP | | @clack/prompts | Prompts interactifs | | cli-table3 | Rendu tableau | | tsup | Build | | Biome | Linter & formatter | | Vitest | Tests |
Licence
MIT — Youness Abbal
