Overview
How BeeL handles VeriFactu compliance — what BeeL does for you, what you control, and where to learn each scenario.
VeriFactu is the AEAT's verifiable invoicing system. Every invoice you issue from a Spanish-resident tax ID must be submitted to AEAT as a chained, signed registro de facturación. BeeL takes care of the chain, the signature, and the submission — you decide which kind of invoice to issue and for whom, and BeeL maps the rest.
This section is the when-to-use-what guide. The endpoint reference for the VeriFactu and Invoicing APIs lives in the API Reference. Here we explain the fiscal decisions behind each request.
At a Glance
| Who must use it | Self-employed and companies subject to Spanish AEAT obligations |
| When | Mandatory from 2026-01-01 for most issuers; voluntary today |
| What BeeL does | Chains, signs, and submits the registro de facturación on each issuance |
| What you choose | type (STANDARD / SIMPLIFIED / CORRECTIVE), rectification_code (R1–R5) for correctives, exemption_reason per line, recipient identification |
| What BeeL never does | Recalculate the totals you sent — your numbers are the fiscal truth |
Auto-submit is off by default. A factura emitida in BeeL is only sent to AEAT when both the global VeriFactu setting and the connection toggle are enabled. See Auto-submit policy.
How issuance maps to VeriFactu
1. You POST /invoices or /invoices/{id}/issue
2. BeeL validates the invoice (NIF, totals, tipo factura)
3. BeeL emits the invoice locally (assigns number, freezes totals)
4. If auto-submit applies → BeeL queues a registro de facturación
5. AEAT responds (PENDING → ACCEPTED or REJECTED, with finer-grained variants surfaced on the invoice)
6. BeeL exposes the resulting status on the invoice (and via webhooks)Where to start
Pick the right invoice type
F1, F2, R1–R5 explained — and which ones BeeL supports today.
Standard vs simplified
The 3 000 € threshold, when you can skip the customer's NIF, and what BeeL enforces.
Corrective invoices
R1–R5 reasons, PARTIAL vs TOTAL, and worked examples for each scenario.
Classify each line correctly
Sujeta / no sujeta / exenta, with the S1, S2, N1, N2, E1–E6 cheat sheet.
Customer & territory scenarios
International customers
B2B intra-EU, B2C with OSS, exports, services to non-EU clients.
Territorial taxes
IVA, IGIC (Canary Islands), IPSI (Ceuta & Melilla) — when to use each.
Equivalence surcharge
Recargo de equivalencia on B2B retailer lines.
Regime keys
The regime_key catalogue — OSS, REBU, criterio de caja, and more.
Operations
Submission states
What each VeriFactu status means, when AEAT retries, when you must act.
Auto-submit policy
The exact conditions under which BeeL sends an invoice to AEAT for you.
Cancel vs amend
Anulación vs subsanación vs rectificativa — pick the right operation.
Reference
Examples cookbook
Runnable curl + JSON for every common AEAT scenario — F1/F2, multi-IVA, intra-EU, exports, RE, ISP, REBU, rectificativas R1–R5.
Scope and limitations
What BeeL's VeriFactu integration does NOT do today, and the supported workaround for each gap.
Things BeeL does not do today
Most of these are actively in development and will be available soon — meanwhile the workaround produces a fiscally equivalent result. See Scope and limitations for the full list and detail.
| Feature | Status | Workaround |
|---|---|---|
F3 — factura de canje (convert F2 → F1) | Coming soon | Issue a corrective (R5) on the F2, then issue a new F1 |
emitida_por_tercero_o_destinatario (T / D) | Coming soon | Issuance is always self-issued through BeeL today |
rechazo_previo X / S in subsanación | Coming soon | BeeL retries rejected submissions itself in the meantime |
If you depend on any of these and want them prioritised, write to it@beel.es — we track those requests separately.