NewThe global rate limit drops to 1000 requests per minute
BeeL
Get StartedMulti-NIFVeriFactuStripeAPI ReferenceChangelog
Tax Configuration

List the tax types allowed in Spain

Scopeconfiguration:read

Returns the tax regimes and percentages that Spanish law allows on an invoice: VAT (mainland), IGIC (Canary Islands), IPSI (Ceuta and Melilla), the withholding (IRPF) percentages, the equivalence surcharge that corresponds to each VAT rate, and the exemption reasons with the classification each one implies.

The catalogue is the same for every credential and does not depend on any account or on any NIF, so the operation takes no identifier and works before the first NIF exists. Use it to validate a rate before sending it, or to build your own picker instead of hard-coding the percentages.

VAT lists 4, 5, 10 and 21, and deliberately not 0. Under VAT (and IPSI) a 0 % is not a rate but the exemption/non-subject sentinel, and on its own it says nothing: a 0 % line is only valid with an exemption_reason, which this same response publishes under exemption_reasons. Offering a bare 0 % in a picker seeded configurations with no reason behind them and every line built from them was rejected. IGIC does list 0: there it is the real "Tipo Cero" and needs no reason. The 5 % VAT rate (RD-ley 11/2022) is kept even though it no longer applies to new operations, because correctives and late filings for those periods still need it.


GET
/v1/tax-types
AuthorizationBearer <token>

API Key authentication.

Format: Authorization: Bearer beel_sk_<key>

Scopes: API Keys use the same scopes as OAuth2 tokens. Each key is created with specific scopes that limit which endpoints it can access. The required scope for each endpoint is documented in the operation's security section under OAuth2.

Obtaining Keys: API Keys are managed from the BeeL dashboard

Security: API Keys are secret credentials. Do not share them or store them in source code

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://app.beel.es/api/v1/tax-types"
{
  "success": true,
  "data": {
    "tax_regimes": [
      {
        "code": "IVA",
        "name": "IVA",
        "description": "Value Added Tax",
        "tax_rates": [
          {
            "percentage": 21,
            "description": "IVA (21%)",
            "active": true,
            "associated_equivalence_surcharge": 5.2
          }
        ],
        "applies_equivalence_surcharge": true,
        "regime_keys": [
          {
            "code": "01",
            "description": "General regime operation"
          }
        ]
      }
    ],
    "irpf_types": [
      {
        "percentage": 15,
        "description": "IRPF Profesional (15%)",
        "active": true
      }
    ],
    "equivalence_surcharges": [
      {
        "percentage": 5.2,
        "associated_vat": 21,
        "description": "RE 5.2% (IVA 21%)",
        "active": true
      }
    ],
    "exemption_reasons": [
      {
        "code": "EXENTA_ART_20",
        "label": "invoice.exemption.EXENTA_ART_20",
        "description": "invoice.exemption.EXENTA_ART_20",
        "category": "OPERACIONES EXENTAS",
        "classification_type": "EXENTA",
        "available_as_default": false
      }
    ]
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "The parameter 'invoice_id' has an invalid type. Expected: UUID.",
    "details": {
      "field": "invoice_id",
      "invalid_value": "deliveries",
      "expected_format": "UUID"
    }
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Authentication required"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "FORBIDDEN",
    "message": "You do not have permission to access this resource"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Too many requests. Please try again in 60 seconds."
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "Internal server error"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "UNSUPPORTED_MEDIA_TYPE",
    "message": "Unsupported media type: text/plain. Supported: application/json"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}