Territorial taxes (IVA, IGIC, IPSI)

When to use IVA, IGIC (Canary Islands), or IPSI (Ceuta & Melilla) — and which main_tax.type value to send.


Spain has three territorial IVA-equivalent taxes. The right one depends on where the operation is localised, not on the issuer's address. Most lines run on IVA; switch to IGIC or IPSI when the operation happens in those territories.

This page is the canonical reference for main_tax.type values and the rate menus per tax.

The three taxes

main_tax.typeTaxTerritoryAEAT impuesto code
IVAImpuesto sobre el Valor AñadidoPeninsula + Balearic Islands01
IPSIImpuesto sobre la Producción, Servicios e ImportaciónCeuta & Melilla02
IGICImpuesto General Indirecto CanarioCanary Islands03
OTHEROther taxesRare — reserved for non-Spanish taxes carried on the invoice05

IVA is the default — you can omit main_tax.type or set it explicitly.

How you set it in the API

main_tax.type, main_tax.percentage, and main_tax.regime_key are sibling fields on each line:

curl -X POST "https://app.beel.es/api/v1/invoices" \
  -H "Authorization: Bearer beel_sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "STANDARD",
    "issue_date": "2026-05-18",
    "recipient": {
      "legal_name": "Importaciones Atlántico SL",
      "nif": "B35987654",
      "address": {
        "street": "Avenida Marítima",
        "number": "200",
        "postal_code": "35001",
        "city": "Las Palmas de Gran Canaria",
        "province": "Las Palmas",
        "country": "España"
      }
    },
    "lines": [
      {
        "description": "Industrial air conditioning systems",
        "quantity": 3,
        "unit": "unit",
        "unit_price": 3500,
        "discount_percentage": 0,
        "main_tax": { "type": "IGIC", "percentage": 7, "regime_key": "01" }
      }
    ]
  }'

Rate menus per tax

IGIC (Canary Islands)

main_tax.percentageUse
0Tipo cero (essentials, intra-canary exports)
3Tipo reducido (some food, transport)
5Tipo reducido especial (temporary energy/utility measures)
7Tipo general
9.5Tipo incrementado (vehicles, mid-tier goods)
15Tipo especial incrementado (luxury)
20Labores del tabaco

IPSI (Ceuta & Melilla)

Rates are set per municipality and per product category. Common ranges: 0.5 %, 3 %, 4 %, 8 %, 10 %. Check the Ordenanza Fiscal for the specific city.

{
  "lines": [
    {
      "description": "Servicio en Ceuta",
      "quantity": 1,
      "unit": "service",
      "unit_price": 200,
      "discount_percentage": 0,
      "main_tax": { "type": "IPSI", "percentage": 4, "regime_key": "01" }
    }
  ]
}

IVA

main_tax.percentageUse
0Exempt or out-of-scope (set exemption_reason — see Tax classification)
4Tipo superreducido — basic foodstuffs, books
5Temporary reduced rates (energy, some foods)
10Tipo reducido — hospitality, transport
21Tipo general

Mixing taxes on the same invoice

Different lines on the same invoice can carry different taxes — for example, a service partly delivered in the peninsula (IVA) and partly in the Canary Islands (IGIC):

{
  "lines": [
    { "description": "Consultoría en Madrid", "quantity": 1, "unit_price": 1000, "discount_percentage": 0,
      "main_tax": { "type": "IVA", "percentage": 21, "regime_key": "01" } },
    { "description": "Consultoría en Tenerife", "quantity": 1, "unit_price": 1000, "discount_percentage": 0,
      "main_tax": { "type": "IGIC", "percentage": 7, "regime_key": "01" } }
  ]
}

BeeL groups the totals per main_tax.type in the response and submits each line under the correct AEAT impuesto code.

When to pick which

The decision tracks the place of supply of the operation, not the issuer's tax address:

  • Goods physically delivered or services consumed in the Canary Islands → IGIC
  • Goods or services consumed in Ceuta or Melilla → IPSI
  • Everything else inside Spain → IVA

If you're a peninsular autónomo invoicing a Canary client for a service used in the Canaries, IGIC applies — not IVA. Likewise, a Canary issuer invoicing a peninsular client for a service consumed in the peninsula uses IVA.

BeeL doesn't auto-detect the place of supply — it trusts what you set. When the customer's address is in the Canaries, IPSI territory, or another EU country, double-check the line classification before issuing.

Mixed-territory regime (main_tax.regime_key: "08")

If the operation falls under "Operaciones sujetas a IPSI / IVA o IGIC", set main_tax.regime_key: "08" on the affected lines. This is rare — used mostly by businesses operating across both regimes simultaneously. See Regime keys.