NewStripe: a buyer with a NIF always gets a standard invoice, and the simplified threshold is deprecated
BeeL
Get startedMulti-NIFVeriFactuRulesStripeAPI referenceChangelog

Equivalence surcharge (recargo de equivalencia)

When to add equivalence_surcharge_rate on B2B lines, the surcharge values BeeL. accepts and their periods, 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 retailer under the equivalence surcharge regime. 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

A request's equivalence_surcharge_rate is one of 0, 0.26, 0.5, 0.62, 1, 1.4, 1.75 or 5.2, each paired to a specific IVA rate and, for the temporary rates, to a period:

ValuePairs with IVA rateAccepted on operations dated
0—Any: surcharge disabled on that line
0.54 %Any
1.410 %Any
5.221 %Any
1.7521 %Any (tobacco products)
0.55 %2022-07-01 to 2022-12-31
0.625 %2023-01-01 to 2024-09-30
0.262 %2024-10-01 to 2024-12-31
17.5 %2024-10-01 to 2024-12-31

Pairing is strict: a line with main_tax.percentage: 10 must use 1.4, never 0.5 or 5.2. A combination outside the table is rejected with INVALID_IVA_SURCHARGE_PAIR, and a pair outside its period with 422 SURCHARGE_RATE_NOT_ACCEPTED_ON_DATE. The date judged is the invoice's operation_date, or the issue date when there is none. List tax types publishes every pair with its valid_from / valid_until; the same surcharge can appear twice (0.5 with 4 % and with 5 %), so key them by surcharge and VAT rate together.

When a line omits equivalence_surcharge_rate and the company is in the regime, the surcharge is derived from the line's VAT on the operation date: with VAT at 5 %, 0.5 up to 2022-12-31 and 0.62 from 2023-01-01.

The 5 % surcharge is 0.62: 0.625 is not accepted in a request. An invoice issued with 0.625 keeps it when you read it. A draft saved with 0.625 that could not be recalculated is rejected at issue with 422 SURCHARGE_RATE_REQUIRES_RECALCULATION: edit its lines and issue it again.

The regime goes with it: a line with a surcharge must carry main_tax.regime_key: "18", and a line under regime "18" must carry a surcharge (see below).

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/companies/{company_id}/invoices" \
  -H "Authorization: Bearer $BEEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "STANDARD",
    "recipient": {
      "legal_name": "Tienda de Electrónica López",
      "nif": "B12345674",
      "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
Any main_tax.regime_key other than "18"The surcharge is only compatible with regime 18 (SURCHARGE_REQUIRES_REGIME); the reverse also holds, regime 18 without a rate is rejected (REGIME_REQUIRES_SURCHARGE)
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" }
    }
  ]
}