Configuración
Todo se puede configurar a través del panel de Configuración — ábrelo con Vibes to Bucks: Cost Tracking & Billing Setup en el paleta de comandos de Cursor. No se requiere editar YAML.
1. Conecta tu software de facturación (Pro)
En Software de facturación, elige Moneybird o Harvest.
Ingresa tu API Token y haz clic en Test Connection. Una vez conectado, los menús desplegables de Administración y Usuario se llenan automáticamente desde tu cuenta. Selecciona la administración y el usuario correctos — las entradas de tiempo se crearán bajo este usuario.
Tu token se almacena de manera segura en el SecretStorage de VS Code. Nunca se escribe en un archivo de configuración o disco.
Cómo obtener tu token de API de Moneybird
- En Moneybird, ve a Configuración (icono de engranaje, abajo a la izquierda)
- Haz clic en Conexiones externas y AI
- Bajo Aplicaciones externas, haz clic en Crear token de API
- Dale un nombre al token (por ejemplo, Vibes to Bucks), confirma y copia el token
- Pégalo en el campo de API Token en el panel de Configuración de Vibes to Bucks
Cómo obtener tu token de Harvest
- En Harvest, ve a Developers → Personal Access Tokens
- Haz clic en Create new personal access token, dale un nombre y copia el token
- También necesitas tu Account ID — mostrado en la misma página junto al nombre de tu cuenta
- Pega ambos en el panel de Configuración de Vibes to Bucks
2. Agrega reglas de facturación
Las reglas de facturación le indican a la extensión a qué cliente y proyecto asignar los costos de AI. Abre el panel de Configuración y desplázate hasta Add Billing Rule.
¿Qué quieres rastrear?
- Repositorio — coincide por git remote. Usa esto para la mayoría de los proyectos. La extensión detecta el remote automáticamente cuando tienes un espacio de trabajo abierto.
- Carpeta — coincide por ruta de carpeta. Usa esto para proyectos sin un git remote, o para vincular una carpeta local a una rama específica de un repositorio multicliente.
Campos de la regla
| Campo | Qué hace |
|---|---|
| Contacto | El cliente en Moneybird o Harvest al que se factura esta regla. Comienza a escribir para buscar. |
| Proyecto | El proyecto bajo ese cliente. Comienza a escribir para buscar. |
| Tarifa por hora (EUR) | Tu tarifa para este cliente. Se usa para convertir el costo de AI en horas facturables. |
| Cómo calcular el tiempo facturable | Multiplicar costo de AI — aplica tu multiplicador de ganancias antes de convertir a horas. Pasar tal cual — pasa el costo bruto al cliente. |
| Multiplicador de costo a ganancia | Solo se muestra cuando se selecciona el modo de multiplicar. El valor predeterminado es 5 (cada €1 de costo de AI = €5 facturados). |
| Límite de presupuesto semanal | Marca para establecer un costo máximo de AI por semana para esta regla. La extensión te alerta al 25%, 50%, 75%, 85%, 95% y cuando excedes el límite. |
| Facturable | Marcado por defecto. Desmarca para rastrear costos para esta regla sin generar una entrada de tiempo — útil para proyectos internos o gastos absorbidos. |
Haz clic en Save Rule cuando termines.
Múltiples clientes en un solo repositorio
Si diferentes ramas del mismo repositorio pertenecen a diferentes clientes, marca Multiple clients on this repo y guarda. La regla luego muestra un icono de rama en la tabla de Reglas de Facturación — haz clic en él para abrir Branch Rules.
Cada regla de rama agrega un patrón (nombre exacto de la rama como main, comodín simple como client-a/*, o recursivo como feature/**) y su propio contacto, proyecto, tarifa, modo de facturación y configuraciones de presupuesto.
Las reglas se emparejan de arriba a abajo — la primera coincidencia gana.
3. Costos no asignados
La sección de Costos No Asignados (también accesible a través de Vibes to Bucks: Show Unassigned Costs) lista los repositorios con costos de AI rastreados que aún no coinciden con ninguna regla de facturación. Haz clic en Assign junto a un repositorio para abrir el formulario de Add Billing Rule con el repositorio prellenado.
4. Configuración
| Configuración | Qué hace |
|---|---|
| Idioma | Idioma de la interfaz de usuario para la extensión. 15 idiomas disponibles. |
| Verificar nuevos costos cada (minutos) | Con qué frecuencia la extensión consulta a Cursor por nuevo uso. Predeterminado: 5. |
| Sincronizar con software de facturación | Diario — sincroniza automáticamente al final del día. Manual — ejecuta Vibes to Bucks: Sync Now desde el paleta de comandos cuando desees sincronizar. |
| Tasa de cambio de respaldo (USD → EUR) | Se usa cuando la tasa en vivo del BCE no está disponible. El panel muestra la tasa en vivo actual y te permite obtener la última con un clic. |
| Moneda de visualización | EUR o USD. Afecta cómo se muestran los costos en el panel de control y la barra de estado. |
Haz clic en Save Settings después de realizar cambios.
5. Resumen de AI (Pro)
Al sincronizar, la extensión puede generar descripciones significativas de entradas de tiempo a partir de tus commits recientes de git usando un modelo de AI.
| Campo | Qué hace |
|---|---|
| Proveedor de AI | Anthropic o OpenAI. |
| Modelo | Selecciona de los preajustes (por ejemplo, Claude Haiku 4.5) o ingresa un ID de modelo personalizado. |
| Clave de API | Ingresa tu clave y haz clic en Save Key. Se almacena de manera segura en SecretStorage — nunca se escribe en archivos de configuración. |
Requisitos previos
- Git debe estar instalado localmente. La extensión ejecuta
git logpara obtener mensajes de commit para el resumen de AI. - Espacios de trabajo remotos SSH: Se requiere autenticación basada en clave SSH (sin contraseña). Git debe estar instalado en la máquina remota. La extensión ejecuta automáticamente
ssh <host> "git log ..."cuando detecta un espacio de trabajo SSH.
Avanzado: referencia YAML
El panel de Configuración escribe en ~/.vibes-to-bucks/config.yaml. Puedes editar este archivo directamente como alternativa — el panel y YAML son totalmente intercambiables.
Ejemplo 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
Normalización remota
Los remotos de Git se normalizan antes de emparejar. Todos estos se resuelven a github.com/acme/website:
[email protected]:acme/website.githttps://github.com/acme/website.gitssh://[email protected]/acme/website.git
Escribe los valores de repo como host/org/repo — sin protocolo, sin .git.
Encontrar IDs de Moneybird
- ID de Administración: visible en la URL —
moneybird.com/{id}/... - ID de Contacto: abre un contacto, el ID está en la URL
- ID de Proyecto: Configuración → Proyectos → haz clic en un proyecto → ID en la URL
- ID de Usuario: Configuración → Usuarios → tu usuario → ID en la URL