NewProvince is only required for addresses in Spain
BeeL
Get startedMulti-NIFVeriFactuRulesStripeAPI referenceChangelog

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.

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.

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.

FieldTypeNotes
line_typeNORMAL | SUPLIDODefaults to NORMAL. Set SUPLIDO for a disbursement.
source_invoice_referencestring (≤ 50)Reference of the original third-party invoice issued in the client's name. Required when line_type: SUPLIDO.
source_invoice_idsarray of UUIDOptional. 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:

FieldMeaning
total_disbursementsSum of all SUPLIDO lines. Excluded from taxable_base, total_vat and VeriFactu. Defaults to 0.
total_to_payinvoice_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.

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.) The disbursement 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_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:

{
  "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 for how normal lines are classified, and the Glossary for the Spanish/English term mapping.