# Planes de facturación

Los **planes de facturación** definen las tarifas y limites de uso de QRwey!.
Este endpoint permite consultar los planes disponibles junto con la configuración
del slider para el simulador de costos.

## Obtener planes

### Endpoint

```
GET /v1/qrs/budget/plans
```

**Host (DEV):**

```
https://api-dev.qrwey.com
```

**Host (PROD):**

```
https://api.qrwey.com
```

### Headers requeridos

```http
Authorization: Bearer {{access_token}}
```

### Ejemplo de request (DEV)

```bash
curl -X GET "https://api-dev.qrwey.com/v1/qrs/budget/plans" \
  -H "Authorization: Bearer {{access_token}}"
```

### Respuesta

```json
{
  "plans": [
    {
      "budgetPlanId": "bp_4aca0361cfcd41c097663db44008fbb9",
      "name": "Plan Básico",
      "included": 100,
      "baseCost": 499.00,
      "full": 25.00,
      "light": 10.00,
      "overRate": 5.00
    },
    {
      "budgetPlanId": "bp_8b3f0a61cfcd41c097663db44008fcc1",
      "name": "Plan Pro",
      "included": 500,
      "baseCost": 990.00,
      "full": 20.00,
      "light": 8.00,
      "overRate": 3.50
    }
  ],
  "sliderConfig": {
    "quota": {
      "min": 0,
      "max": 5000,
      "step": 50,
      "defaultValue": 500
    },
    "rfcFull": {
      "min": 0,
      "max": 100,
      "step": 1,
      "defaultValue": 10
    },
    "rfcLight": {
      "min": 0,
      "max": 100,
      "step": 1,
      "defaultValue": 5
    }
  }
}
```

### Campos de BudgetPlansResponse

| Campo | Descripción |
|  --- | --- |
| `plans` | Lista de planes de facturación disponibles |
| `sliderConfig` | Configuración de rangos para el simulador de costos |


### Campos de cada plan (`plans[]`)

| Campo | Descripción |
|  --- | --- |
| `budgetPlanId` | Identificador único del plan |
| `name` | Nombre del plan |
| `included` | Número de facturas incluidas en el plan |
| `baseCost` | Costo base mensual del plan |
| `full` | Costo por cada validación completa de RFC (CSF) |
| `light` | Costo por cada validación ligera de RFC |
| `overRate` | Costo por cada CFDI adicional fuera del plan |


### Configuración del slider (`sliderConfig`)

Cada rango (`quota`, `rfcFull`, `rfcLight`) contiene:

| Campo | Descripción |
|  --- | --- |
| `min` | Valor mínimo del rango |
| `max` | Valor máximo del rango |
| `step` | Incremento del slider |
| `defaultValue` | Valor por defecto |


## Errores comunes

| Código | Motivo |
|  --- | --- |
| 401 | Token inválido o expirado |


Consulta: [Manejo de errores](/guides/error-handling)

## Buenas prácticas

- Consulta los planes disponibles para mostrar opciones al usuario en tu interfaz
- Usa el `sliderConfig` para construir un simulador de costos interactivo
- Evalúa la tarifa óptima con el endpoint de [reportes del cliente](/guides/customer-reports) para recomendar el mejor plan


## ¿Qué sigue?

- Evalúa la tarifa óptima: [Reportes del cliente](/guides/customer-reports)
- Consulta catálogos SAT: [Catálogos SAT](/guides/sat-catalogs)
- Vuelve al índice: [Gestión de Clientes](/guides/customer-portal)