Como funciona a faturação

O Vibes to Bucks acompanha os custos dos seus tokens de Cursor AI e converte-os em horas faturáveis no seu software de gestão de tempo (Moneybird ou Harvest). A conversão é baseada na sua taxa horária — assim, a extensão calcula quantas horas do seu tempo o custo do AI representa e cria uma entrada de tempo para esse montante.

Para cada cliente, você controla três aspetos:

Multiplicar custo do AI (recomendado)

Use isto quando quiser faturar o trabalho assistido por AI com uma margem de lucro. Defina um Multiplicador de Custo para Lucro que escala o custo bruto do AI antes de converter em horas. Isto captura o verdadeiro valor que você entrega — elaboração de prompts, revisão e iteração sobre o resultado, integração do resultado e responsabilidade pelo produto final.

O cálculo:

cost_eur = cost_usd × multiplier × fx_rate
hours    = cost_eur / hourly_rate

Exemplo: €10 de custo do AI, multiplicador 5, taxa horária €120/h:

cost_eur = €10 × 5 = €50
hours    = €50 / €120 = 0.42h (≈ 25 minutes billed)

Um multiplicador de 5 significa que cada €1 gasto em AI se torna €5 de receita faturável — uma margem que reflete a expertise e o tempo que você investe em torno do resultado do AI. Comece com 5 e ajuste conforme os acordos com o cliente.

Transferir ao valor de face

Use isto para faturação de recuperação de custos — o custo bruto do AI é transferido para o cliente ao valor de face, convertido em horas à sua taxa horária. Não é adicionada margem.

O cálculo:

cost_eur = cost_usd × fx_rate
hours    = cost_eur / hourly_rate

Exemplo: $12.00 de custo do AI, taxa EUR/USD 0.92, taxa horária €120/h:

cost_eur = $12.00 × 0.92 = €11.04
hours    = €11.04 / €120  = 0.092h (≈ 6 minutes billed)

Não faturável

Desmarque Faturável num mapeamento para rastrear os custos do AI para esse cliente ou projeto sem gerar qualquer entrada de tempo. Os custos aparecem no seu painel para que possa ver o gasto, mas nada é sincronizado com o Moneybird ou Harvest. Útil para projetos internos, I&D, ou qualquer trabalho onde você absorve o custo do AI.

Taxas de câmbio

A conversão USD→EUR utiliza a Frankfurter API, que fornece as taxas de referência do Banco Central Europeu publicadas diariamente por volta das 16:00 CET. As taxas são armazenadas localmente para evitar chamadas redundantes à API. Quando a API está inacessível, a extensão recorre à fallback_rate da sua configuração.

Para preenchimento retroativo, a extensão obtém a taxa histórica para cada dia específico, garantindo conversões precisas mesmo para datas passadas.

Arredondamento e mínimos

As entradas de tempo são armazenadas como carimbos de data/hora de início/fim. A extensão converte horas em minutos e arredonda para o minuto inteiro mais próximo, com um mínimo de 1 minuto:

Todas as entradas começam às 09:00 UTC. O tempo de término é calculado a partir da duração arredondada. Estes carimbos de data/hora são um requisito da API e não refletem as horas reais de trabalho.

Uma entrada por cliente por projeto por dia

O motor de sincronização produz no máximo uma entrada de tempo por cliente por projeto por dia. Se mais eventos chegarem no mesmo dia, a próxima sincronização atualiza a entrada existente em vez de criar uma nova. Isso mantém a sua folha de horas limpa e evita entradas fragmentadas.

Sincronização idempotente

Antes de criar uma entrada, a extensão verifica se já existe uma para a mesma combinação (dia, contacto, projeto):

Executar “Sincronizar Agora” duas vezes seguidas não produz duplicados.

Limite orçamental semanal

Defina um limite semanal de custo do AI por mapeamento (Pro). A extensão acompanha o gasto por repositório e dispara notificações do Cursor em marcos: 25%, 50%, 75%, 85%, 95% como alertas informativos, escalando para um aviso a 100% e a cada 10% além. Cada marco dispara uma vez por semana por repositório.

Este é um limite flexível — nunca bloqueia o uso do AI, apenas o mantém informado antes de ultrapassar. O estado do orçamento também é visível no Painel de Utilização com indicadores mostrando o gasto vs. limite.