# Disbursements (suplidos)

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 **disbursement** (*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 disbursement 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.

<Callout type="warn">
  A disbursement 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 disbursement 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.
</Callout>

## The three conditions

For a line to be a valid disbursement, all three must hold:

1. **Issued in the client's name.** The third party's invoice names the client as the recipient, not you.
2. **Paid on their behalf.** You advanced the money for them, under an express or implied mandate.
3. **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 disbursement 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 disbursement. |
| `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 disbursement. 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 disbursements:

| 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 disbursements, `total_disbursements` is `0` and `total_to_pay` equals `invoice_total`.

<Callout type="info">
  `invoice_total` is still the fiscal total (base + VAT + surcharge − IRPF). Disbursements never reach VeriFactu or the tax breakdowns. (The total AEAT registers also leaves IRPF out, so it is not `invoice_total` either — see [What AEAT receives](/verifactu/what-aeat-receives#the-total).) The disbursement rides on top in `total_to_pay`, which is what the client pays.
</Callout>

## 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.

```bash
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": "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:

```json
{
  "totals": {
    "taxable_base": 1000,
    "total_vat": 210,
    "total_irpf": 0,
    "invoice_total": 1210,
    "total_disbursements": 150,
    "total_to_pay": 1360
  }
}
```

The disbursement 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.

## Gotchas

- **Adding VAT to the disbursement.** Do not set `main_tax` on a `SUPLIDO` line expecting VAT. Disbursements 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 `NORMAL` line instead.

See [Tax classification per line](/verifactu/tax-classification) for how normal lines are classified, and the [Glossary](/guides/glossary) for the Spanish/English term mapping.

> **Rules that apply here:** [TAX-008 · Disbursements go as SUPLIDO lines, without tax](/rules/taxes#tax-008)

## Related

<Related>

- [What AEAT receives](/verifactu/what-aeat-receives) — why disbursements are not sent
- [Tax classification per line](/verifactu/tax-classification) — classifying the taxed lines
- [Amounts and rounding](/guides/amounts-and-rounding) — how totals are computed

</Related>

---

Full OpenAPI spec: https://docs.beel.es/api/openapi