Configuration

Tout peut être configuré via le panneau de paramètres — ouvre-le avec Vibes to Bucks: Cost Tracking & Billing Setup dans la palette de commandes de Cursor. Pas besoin d’éditer du YAML.


1. Connecte ton logiciel de facturation (Pro)

Sous Logiciel de facturation, choisis Moneybird ou Harvest.

Entre ton API Token et clique sur Test Connection. Une fois connecté, les listes déroulantes Administration et User se remplissent automatiquement à partir de ton compte. Sélectionne la bonne administration et utilisateur — les entrées de temps seront créées sous cet utilisateur.

Ton token est stocké en toute sécurité dans le SecretStorage de VS Code. Il n’est jamais écrit dans un fichier de config ou sur le disque.

Obtenir ton token API Moneybird

  1. Dans Moneybird, va dans Paramètres (icône d’engrenage, en bas à gauche)
  2. Clique sur Connexions externes et IA
  3. Sous Applications externes, clique sur Créer un token API
  4. Donne un nom au token (par ex. Vibes to Bucks), confirme et copie le token
  5. Colle-le dans le champ API Token du panneau de paramètres de Vibes to Bucks

Obtenir ton token Harvest

  1. Dans Harvest, va dans DevelopersPersonal Access Tokens
  2. Clique sur Create new personal access token, donne-lui un nom et copie le token
  3. Tu as aussi besoin de ton Account ID — visible sur la même page à côté de ton nom de compte
  4. Colle les deux dans le panneau de paramètres de Vibes to Bucks

2. Ajouter des règles de facturation

Les règles de facturation indiquent à l’extension à quel client et projet attribuer les coûts IA. Ouvre le panneau de paramètres et fais défiler jusqu’à Add Billing Rule.

Que veux-tu suivre ?

Champs de la règle

Champ Ce qu’il fait
Contact Le client dans Moneybird ou Harvest auquel cette règle facture. Commence à taper pour rechercher.
Project Le projet sous ce client. Commence à taper pour rechercher.
Hourly Rate (EUR) Ton tarif pour ce client. Utilisé pour convertir le coût IA en heures facturables.
How to calculate billable time Multiply AI cost — applique ton multiplicateur de profit avant de convertir en heures. Pass through at face value — passe le coût brut au client.
Cost to Profit Multiplier Affiché uniquement lorsque le mode multiplication est sélectionné. Par défaut, c’est 5 (chaque 1 € de coût IA = 5 € facturés).
Weekly budget cap Coche pour définir un coût IA max par semaine pour cette règle. L’extension te prévient à 25%, 50%, 75%, 85%, 95% et lorsque tu dépasses la limite.
Billable Coché par défaut. Décoche pour suivre les coûts pour cette règle sans générer une entrée de temps — utile pour les projets internes ou les frais absorbés.

Clique sur Save Rule quand c’est terminé.

Plusieurs clients sur un même dépôt

Si différentes branches du même dépôt appartiennent à différents clients, coche Multiple clients on this repo et enregistre. La règle affiche alors une icône de branche dans le tableau des règles de facturation — clique dessus pour ouvrir Branch Rules.

Chaque règle de branche ajoute un pattern (nom exact de la branche comme main, joker simple comme client-a/*, ou récursif comme feature/**) et son propre contact, projet, tarif, mode de facturation et paramètres de budget.

Les règles sont appliquées de haut en bas — la première correspondance l’emporte.


3. Coûts non assignés

La section Unassigned Costs (également accessible via Vibes to Bucks: Show Unassigned Costs) liste les dépôts avec des coûts IA suivis qui ne correspondent à aucune règle de facturation pour le moment. Clique sur Assign à côté d’un dépôt pour ouvrir le formulaire Add Billing Rule avec le dépôt pré-rempli.


4. Paramètres

Paramètre Ce qu’il fait
Language Langue de l’interface utilisateur pour l’extension. 15 langues disponibles.
Check for new costs every (minutes) Fréquence à laquelle l’extension interroge Cursor pour de nouvelles utilisations. Par défaut : 5.
Sync to billing software Daily — synchronise automatiquement en fin de journée. Manual — exécute Vibes to Bucks: Sync Now depuis la palette de commandes quand tu veux synchroniser.
Fallback exchange rate (USD → EUR) Utilisé lorsque le taux en direct de la BCE n’est pas disponible. Le panneau affiche le taux en direct actuel et te permet de récupérer le dernier en un clic.
Display Currency EUR ou USD. Affecte la manière dont les coûts sont affichés dans le tableau de bord et la barre d’état.

Clique sur Save Settings après avoir apporté des modifications.


5. Résumé IA (Pro)

Lors de la synchronisation, l’extension peut générer des descriptions d’entrées de temps significatives à partir de tes récents commits git en utilisant un modèle IA.

Champ Ce qu’il fait
AI provider Anthropic ou OpenAI.
Model Sélectionne parmi les préréglages (par ex. Claude Haiku 4.5) ou entre un ID de modèle personnalisé.
API key Entre ta clé et clique sur Save Key. Stockée en toute sécurité dans SecretStorage — jamais écrite dans les fichiers de config.

Prérequis


Avancé : Référence YAML

Le panneau de paramètres écrit dans ~/.vibes-to-bucks/config.yaml. Tu peux éditer ce fichier directement comme alternative — le panneau et le YAML sont entièrement interchangeables.

Exemple complet

destination: moneybird

moneybird:
  administration_id: "123456789"
  user_id: "987654321"

polling:
  interval_minutes: 5
  sync_schedule: daily

fx:
  source: ecb
  fallback_rate: 0.92

mappings:
  # Single-client repo
  - repo: github.com/acme/website
    contact_id: "100"
    billing:
      mode: multiplier
      project_id: "200"
      hourly_rate: 120
      multiplier: 5
    budget:
      max_ai_cost_per_week: 50

  # Multi-client repo — different branches → different clients
  - repo: github.com/org/platform
    multiclient: true
    branches:
      - pattern: "client-a/*"
        contact_id: "300"
        billing:
          mode: multiplier
          project_id: "400"
          hourly_rate: 100
          multiplier: 5
      - pattern: dev
        contact_id: "600"
        billing:
          mode: passthrough
          project_id: "700"
          hourly_rate: 0

  # Folder fallback
  - folder: /home/user/experiments
    contact_id: "800"
    billing:
      mode: passthrough
      project_id: "900"
      hourly_rate: 100

Normalisation des remotes

Les remotes Git sont normalisés avant la correspondance. Tous ceux-ci se résolvent en github.com/acme/website :

Écris les valeurs repo comme host/org/repo — sans protocole, sans .git.

Trouver les IDs Moneybird