Equivalence surcharge (recargo de equivalencia)

When to add equivalence_surcharge_rate on B2B lines, the surcharge values BeeL accepts, and how the line is sent to AEAT.


Recargo de equivalencia is a special IVA regime for retailers (minoristas) who sell unmodified goods. The supplier (you) adds the surcharge to the standard IVA on every line sold to a retailer who has opted into the regime; the retailer then doesn't file their own IVA returns.

When you add the surcharge

You add it only if the buyer has declared themselves a recargo de equivalencia retailer. The buyer must inform you in writing — you don't infer it from anything in their fiscal data.

If the buyer hasn't declared the regime, you invoice them with normal IVA and no surcharge.

Accepted surcharge values

The BeeL API's equivalence_surcharge_rate is an enum with exactly five values, each one paired to a specific IVA rate:

ValuePairs with IVA rateNotes
0Surcharge disabled on that line
0.54 %Super-reduced
0.6255 %RD-ley 11/2022 — temporary reduced
1.410 %Reduced
5.221 %Standard

Pairing is strict: a line with main_tax.percentage: 5 must use equivalence_surcharge_rate: 0.625, never 0.5 or 1.4. BeeL rejects mismatched pairs at issuance.

Other rates (e.g. the 1.75 % tobacco surcharge) are not exposed in the public API today — open a request if you need one.

How to set it in the API

Add equivalence_surcharge_rate to the line and set main_tax.regime_key: "18":

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": "Tienda de Electrónica López",
      "nif": "12345678Z",
      "address": {
        "street": "Calle Comercio",
        "number": "56",
        "postal_code": "08001",
        "city": "Barcelona",
        "province": "Barcelona",
        "country": "España"
      }
    },
    "lines": [
      {
        "description": "Producto vendido a minorista en RE",
        "quantity": 1,
        "unit": "unit",
        "unit_price": 200,
        "discount_percentage": 0,
        "main_tax": { "type": "IVA", "percentage": 21, "regime_key": "18" },
        "equivalence_surcharge_rate": 5.2
      }
    ]
  }'

BeeL submits the right clave_regimen: "18" and AEAT codes to VeriFactu on your behalf.

What's incompatible with the surcharge

SettingReason
exemption_reason: ISP_ART_84_2_*ISP shifts liability to the buyer; surcharge doesn't apply
Any exemption_reason: EXENTA_* / NO_SUJETA_*Exempt and not-subject lines don't carry IVA → no surcharge
main_tax.regime_key: "03" (REBU)REBU has its own special treatment
Lines on a simplified (type: SIMPLIFIED) invoiceF2 is for B2C; retailers buy under F1

BeeL rejects these combinations at issuance with a descriptive error.

For the exemption_reason values referenced here, see Tax classification per line.

The surcharge is per-line, not per-invoice

You can mix lines with and without the surcharge in the same invoice. Common case: the retailer buys some goods (surcharge applies) and you also charge them a transport fee that is a separate service (no surcharge, regime general).

{
  "lines": [
    {
      "description": "Mercancía minorista",
      "quantity": 1,
      "unit_price": 200,
      "discount_percentage": 0,
      "main_tax": { "type": "IVA", "percentage": 21, "regime_key": "18" },
      "equivalence_surcharge_rate": 5.2
    },
    {
      "description": "Transporte",
      "quantity": 1,
      "unit_price": 30,
      "discount_percentage": 0,
      "main_tax": { "type": "IVA", "percentage": 21, "regime_key": "01" }
    }
  ]
}