Suplidos (payments on behalf of the client)
Bill back amounts you paid in the client's name with line_type: SUPLIDO. They stay out of the taxable base, VAT and VeriFactu, and add to total_to_pay.
A suplido is money you pay to a third party in your client's name and on their behalf, then bill back at cost. The classic cases are court fees, notary and registry charges, official gazette fees, or a tax you settle for the client. Under art. 78.Tres.3 LIVA, a suplido is not part of your taxable base: you do not add VAT to it, and it does not reach VeriFactu. You are only passing the cost through.
A suplido is not the same as a re-billed expense. If you buy something for your own activity (a plane ticket, materials) and re-invoice it, that is part of your taxable base and carries VAT as a normal line. It only qualifies as a suplido when the original invoice is issued in the client's name, you paid it on their behalf, and you bill the exact amount with no markup.
The three conditions
For a line to be a valid suplido, all three must hold:
- Issued in the client's name. The third party's invoice names the client as the recipient, not you.
- Paid on their behalf. You advanced the money for them, under an express or implied mandate.
- Billed at cost. The amount you pass through equals the amount you paid, with no margin.
If any condition fails, it is a normal line (line_type: NORMAL) and follows the usual VAT rules.
How BeeL. models it
A suplido is a line type, set per line with line_type. Every line defaults to NORMAL; set it to SUPLIDO to exclude that line from the taxable base, VAT and VeriFactu.
| Field | Type | Notes |
|---|---|---|
line_type | NORMAL | SUPLIDO | Defaults to NORMAL. Set SUPLIDO for a payment on behalf of the client. |
source_invoice_reference | string (≤ 50) | Reference of the original third-party invoice issued in the client's name. Required when line_type: SUPLIDO. |
source_invoice_ids | array of UUID | Optional. Ids of your own issued BeeL. invoices that make up the suplido. Their sum is the disbursement amount. For audit traceability only. |
A SUPLIDO line ignores the tax fields (main_tax, equivalence_surcharge_rate, irpf_rate, exemption_reason): it never contributes VAT, surcharge or withholding.
Totals
Two totals capture the effect of suplidos:
| Field | Meaning |
|---|---|
total_disbursements | Sum of all SUPLIDO lines. Excluded from taxable_base, total_vat and VeriFactu. Defaults to 0. |
total_to_pay | invoice_total + total_disbursements. The amount printed on the PDF and actually charged to the client. |
When an invoice has no suplidos, total_disbursements is 0 and total_to_pay equals invoice_total.
invoice_total is still the fiscal total (base + VAT + surcharge − IRPF). VeriFactu and the tax breakdowns only ever see invoice_total. The suplido amount rides on top in total_to_pay, which is what the client pays.
Example
A consultancy bills 1 000 € of advisory work (21 % VAT) and passes through a 150 € registry fee it paid in the client's name.
curl -X POST "https://app.beel.es/api/v1/companies/{company_id}/invoices" \
-H "Authorization: Bearer beel_sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"type": "STANDARD",
"recipient": { "legal_name": "Cliente SL", "nif": "B12345674", "address": { "street": "Calle Mayor", "number": "1", "postal_code": "28013", "city": "Madrid", "province": "Madrid", "country": "España" } },
"lines": [
{
"description": "Asesoramiento mercantil",
"quantity": 10,
"unit": "hours",
"unit_price": 100,
"main_tax": { "type": "IVA", "percentage": 21, "regime_key": "01" }
},
{
"description": "Tasa del Registro Mercantil",
"quantity": 1,
"unit": "unit",
"unit_price": 150,
"line_type": "SUPLIDO",
"source_invoice_reference": "BORME-2026-4471"
}
],
"options": { "issue_directly": true }
}'Resulting totals:
{
"totals": {
"taxable_base": 1000,
"total_vat": 210,
"total_irpf": 0,
"invoice_total": 1210,
"total_disbursements": 150,
"total_to_pay": 1360
}
}The suplido line adds nothing to taxable_base (still 1 000 €) or total_vat (still 210 €). The client pays total_to_pay = 1 360 €, and only the 1 210 € invoice_total is reported to VeriFactu.
Common mistakes
- Adding VAT to the suplido. Do not set
main_taxon aSUPLIDOline expecting VAT. Suplidos are outside the VAT base by definition. - Omitting
source_invoice_reference. It is required. The reference ties the pass-through amount to the original invoice issued in the client's name. - Adding a markup. Any amount above cost turns the whole thing into a taxable service. Use a
NORMALline instead.
See Tax classification per line for how normal lines are classified, and the Glossary for the Spanish/English term mapping.
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.
International customers
Every cross-border scenario — intra-EU B2B, B2C with OSS, exports, services to non-EU — with the exact request shape BeeL. accepts.