Configuração

Tudo pode ser configurado através do Painel de Configurações — abra-o com Vibes to Bucks: Cost Tracking & Billing Setup no comando palette do Cursor. Não é necessário editar YAML.


1. Conecte seu software de faturamento (Pro)

Em Billing software, escolha Moneybird ou Harvest.

Insira seu API Token e clique em Test Connection. Uma vez conectado, os menus suspensos Administration e User serão preenchidos automaticamente a partir da sua conta. Selecione a administração e o usuário corretos — as entradas de tempo serão criadas sob este usuário.

Seu token é armazenado de forma segura no SecretStorage do VS Code. Ele nunca é gravado em um arquivo de configuração ou disco.

Obtendo seu token API do Moneybird

  1. No Moneybird, vá para Settings (ícone de engrenagem, canto inferior esquerdo)
  2. Clique em External and AI connections
  3. Em External applications, clique em Create API token
  4. Dê um nome ao token (por exemplo, Vibes to Bucks), confirme e copie o token
  5. Cole-o no campo API Token no painel de configurações do Vibes to Bucks

Obtendo seu token do Harvest

  1. No Harvest, vá para DevelopersPersonal Access Tokens
  2. Clique em Create new personal access token, dê um nome e copie o token
  3. Você também precisará do seu Account ID — mostrado na mesma página ao lado do nome da sua conta
  4. Cole ambos no painel de configurações do Vibes to Bucks

2. Adicione regras de faturamento

As regras de faturamento informam à extensão qual cliente e projeto atribuir os custos de IA. Abra o Painel de Configurações e role até Add Billing Rule.

O que você quer rastrear?

Campos da regra

Campo O que faz
Contact O cliente no Moneybird ou Harvest para o qual esta regra fatura. Comece a digitar para pesquisar.
Project O projeto sob esse cliente. Comece a digitar para pesquisar.
Hourly Rate (EUR) Sua taxa para este cliente. Usado para converter o custo de IA em horas faturáveis.
How to calculate billable time Multiply AI cost — aplica seu multiplicador de lucro antes de converter em horas. Pass through at face value — passa o custo bruto para o cliente.
Cost to Profit Multiplier Mostrado apenas quando o modo de multiplicação é selecionado. O padrão é 5 (cada €1 de custo de IA = €5 faturados).
Weekly budget cap Marque para definir um custo máximo de IA por semana para esta regra. A extensão alerta você em 25%, 50%, 75%, 85%, 95% e quando você excede o limite.
Billable Marcado por padrão. Desmarque para rastrear custos para esta regra sem gerar uma entrada de tempo — útil para projetos internos ou custos absorvidos.

Clique em Save Rule quando terminar.

Vários clientes em um repositório

Se diferentes branches do mesmo repositório pertencem a diferentes clientes, marque Multiple clients on this repo e salve. A regra então mostra um ícone de branch na tabela de Regras de Faturamento — clique nele para abrir Branch Rules.

Cada regra de branch adiciona um padrão (nome exato do branch como main, curinga simples como client-a/*, ou recursivo como feature/**) e seus próprios contato, projeto, taxa, modo de faturamento e configurações de orçamento.

As regras são correspondidas de cima para baixo — a primeira correspondência vence.


3. Custos não atribuídos

A seção Unassigned Costs (também acessível via Vibes to Bucks: Show Unassigned Costs) lista repositórios com custos de IA rastreados que ainda não correspondem a nenhuma regra de faturamento. Clique em Assign ao lado de um repositório para abrir o formulário Add Billing Rule com o repositório pré-preenchido.


4. Configurações

Configuração O que faz
Language Idioma da interface do usuário para a extensão. 15 idiomas disponíveis.
Check for new costs every (minutes) Com que frequência a extensão verifica o Cursor para novos usos. Padrão: 5.
Sync to billing software Daily — sincroniza automaticamente no final do dia. Manual — execute Vibes to Bucks: Sync Now no comando palette quando quiser sincronizar.
Fallback exchange rate (USD → EUR) Usado quando a taxa de câmbio ao vivo do BCE não está disponível. O painel mostra a taxa ao vivo atual e permite que você busque a mais recente com um clique.
Display Currency EUR ou USD. Afeta como os custos são exibidos no painel e na barra de status.

Clique em Save Settings após fazer alterações.


5. Resumo de IA (Pro)

Ao sincronizar, a extensão pode gerar descrições significativas de entradas de tempo a partir dos seus commits recentes do git usando um modelo de IA.

Campo O que faz
AI provider Anthropic ou OpenAI.
Model Selecione entre presets (por exemplo, Claude Haiku 4.5) ou insira um ID de modelo personalizado.
API key Insira sua chave e clique em Save Key. Armazenada de forma segura no SecretStorage — nunca gravada em arquivos de configuração.

Pré-requisitos


Avançado: referência YAML

O Painel de Configurações grava em ~/.vibes-to-bucks/config.yaml. Você pode editar este arquivo diretamente como alternativa — o painel e o YAML são totalmente intercambiáveis.

Exemplo completo

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

Normalização de remotos

Os remotos Git são normalizados antes da correspondência. Todos estes resolvem para github.com/acme/website:

Escreva valores repo como host/org/repo — sem protocolo, sem .git.

Encontrando IDs do Moneybird