# Harvest

:::tip Disponible
Esta integración está activa y lista para usar en Frihet.
:::

Conecta Harvest a Frihet. Importa registros de tiempo y convierte horas trabajadas en líneas de factura automáticamente. Define tarifas por cliente o proyecto y factura directamente desde tu ERP.

## ¿Para qué sirve?

Con Harvest integrado:

- **Importar registros de tiempo** — Trae tus horas registradas en Harvest a Frihet
- **Crear facturas desde horas** — Convierte tiempo en facturas con tarifas configurables
- **Proyectos y clientes** — Agrupa horas por proyecto para facturas detalladas
- **Tarifas personalizadas** — Define precio/hora por cliente o proyecto
- **Sin duplicados** — Las horas ya importadas no se re-importan

## Requisitos

- **Cuenta Harvest activa** — [getharvest.com](https://www.getharvest.com)
- **Personal Access Token** — Se genera desde la configuración de Harvest
- **Account ID** — Se obtiene junto al token
- **Frihet Pro o superior**

## Conectar Harvest con Frihet

### Paso 1: Obtener tu Personal Access Token

1. Ve a [id.getharvest.com/developers](https://id.getharvest.com/developers)
2. Inicia sesión con tu cuenta de Harvest
3. Haz clic en **Create New Personal Access Token**
4. Ponle un nombre (ej: "Frihet ERP")
5. Haz clic en **Create Personal Access Token**
6. Verás dos datos:
   - **Token** — Tu clave de acceso (ej: `123456.pt.abcdefg...`)
   - **Account ID** — El identificador numérico de tu cuenta (ej: `987654`)
7. Copia ambos valores

:::caution Guarda ambos valores
El Token solo se muestra una vez. El Account ID lo puedes consultar después, pero copia ambos ahora.
:::

### Paso 2: Configurar en Frihet

1. Ve a **Ajustes** → **Integraciones**
2. Busca **Harvest**
3. Haz clic en **Conectar**
4. Introduce tu **Personal Access Token**
5. Introduce tu **Account ID**
6. Haz clic en **Verificar conexión**
7. Si es correcto, verás el nombre de tu empresa en Harvest

### Paso 3: Verificar conexión

1. Frihet mostrará un resumen:
   - Nombre de la empresa en Harvest
   - Número de proyectos activos
   - Horas registradas recientes
2. Puedes hacer una importación de prueba

## Cómo funciona

Frihet usa la **API v2 de Harvest** con dos cabeceras de autenticación:

```
Authorization: Bearer <token>
Harvest-Account-Id: <account-id>
```

1. Proporcionas tu Personal Access Token y Account ID
2. Frihet envía ambos en las cabeceras de cada petición
3. Los registros de tiempo se importan bajo demanda o periódicamente
4. Cada registro incluye proyecto, tarea, cliente y horas
5. Las credenciales se almacenan cifradas (AES-256-GCM) en Frihet

## Datos sincronizados

| Dato | Dirección | Frecuencia |
|------|-----------|------------|
| Registros de tiempo | Harvest → Frihet | Bajo demanda / periódica |
| Proyectos | Harvest → Frihet | Bajo demanda |
| Clientes de Harvest | Harvest → Frihet | Bajo demanda |
| Tareas | Harvest → Frihet | Con cada registro |

## Ejemplo: Convertir horas a factura

### En Harvest

```
Proyecto: Rediseño Web - ClienteXYZ
  Lun 3 feb: 4h — Diseño de wireframes
  Mar 4 feb: 3h — Maquetación responsive
  Jue 6 feb: 5h — Desarrollo frontend
  Total: 12 horas
```

### En Frihet (después de importar)

```
Factura #1047 - ClienteXYZ
Concepto: Rediseño Web

  Diseño de wireframes:     4h × 75 EUR = 300,00 EUR
  Maquetación responsive:   3h × 75 EUR = 225,00 EUR
  Desarrollo frontend:      5h × 75 EUR = 375,00 EUR

Total: 900,00 EUR
```

## Tarifas personalizadas

### Tarifa por defecto

Al configurar la integración, defines una tarifa base (ej: 60 EUR/h). Todas las importaciones usan esta tarifa por defecto.

### Tarifa por cliente

1. Ve a **Clientes** → abre el cliente
2. En **"Tarifa Harvest"**, introduce la tarifa específica (ej: 80 EUR/h)
3. Las próximas importaciones de este cliente usarán esa tarifa

### Editar en la factura

Después de importar, la factura está en estado **Borrador**. Puedes:
- Cambiar la tarifa por hora de cualquier línea
- Añadir o quitar líneas
- Ajustar el concepto
- Confirmar cuando esté listo

### Importar registros de tiempo

Frihet puede convertir tus registros de tiempo en lineas de factura automaticamente:

1. Conecta tu cuenta de Harvest
2. Ve a la pestaña **Datos** de la integracion
3. Haz clic en **Importar registros de tiempo**
4. Introduce tu tarifa por hora
5. Frihet agrupa las entradas por proyecto y crea un borrador de factura

Las entradas de Harvest incluyen nombre de proyecto y tarea directamente, por lo que cada linea de factura refleja la tarea realizada.

## Casos de uso

### Agencia de desarrollo

Tu equipo registra horas en Harvest por proyecto y tarea. A final de mes, importas las horas a Frihet y generas facturas detalladas para cada cliente con el desglose de tareas.

### Consultor independiente

Registras tus horas de consultoría en Harvest. Semanalmente o mensualmente, importas a Frihet y creas facturas por cliente. Cada factura muestra el desglose exacto de qué hiciste y cuánto tiempo dedicaste.

### Facturación por proyecto

Tienes un proyecto grande con presupuesto cerrado. Usas Harvest para rastrear las horas reales y Frihet para facturar los hitos del proyecto. Las horas importadas te dan visibilidad de rentabilidad.

## Solución de problemas

### "Error de autenticación"

- Verifica que el Personal Access Token es correcto
- Comprueba que el Account ID corresponde a tu cuenta activa
- Si regeneraste el token, actualízalo en Frihet

### "No veo mis registros de tiempo"

- Verifica que has registrado horas en Harvest (no borradores)
- Comprueba que seleccionas el rango de fechas correcto
- Las entradas de tiempo deben tener un proyecto asignado

### "Las tarifas no son correctas"

- Revisa la tarifa por defecto en **Ajustes** → **Harvest**
- Comprueba si el cliente tiene una tarifa personalizada configurada
- Puedes editar la tarifa directamente en el borrador de factura antes de confirmar

### "Quiero cambiar el Account ID"

1. Ve a **Ajustes** → **Integraciones** → **Harvest**
2. Haz clic en **Desconectar**
3. Vuelve a conectar con el nuevo Account ID y token

## Próximos pasos

- [Conecta Toggl como alternativa de time tracking](./toggl)
- [Conecta Clockify para otra opción de time tracking](./clockify)
- [Automatiza la facturación con n8n](./n8n)
