# FAQ

The questions integrators ask most — compliance, architecture, VeriFactu, webhooks, integration, sandbox and pricing — each answered in a few lines and linked to the section that explains it in full.

## Compliance

### If I integrate the API, who is the billing system (SIF) and who is its producer?

*Si integro la API, ¿quién es el SIF y quién es su productor?*

BeeL.'s declaración responsable states that BeeL. is the billing system (SIF) and that Honey Solutions, S.L. is its producer. Numbering, record, chained hash, QR and submission to AEAT all happen inside BeeL.

Full answer: [/verifactu/compliance-and-responsibilities#who-is-who](/verifactu/compliance-and-responsibilities#who-is-who)

### Who issues and signs the declaración responsable, and where can I get a copy?

*¿Quién emite y firma la declaración responsable del SIF?*

Honey Solutions, S.L., as producer of BeeL., signs the declaración responsable provided for in article 13 of the RD 1007/2023. It is public, with every version, at beel.es/declaraciones-responsables.

Full answer: [/verifactu/compliance-and-responsibilities#declaracion-responsable](/verifactu/compliance-and-responsibilities#declaracion-responsable)

### Does software built on the API need its own declaración responsable?

*¿El software que integra la API necesita su propia declaración responsable?*

It depends on what the software does, and BeeL. cannot settle it for you. Under AEAT's published criteria, a component that prints invoices or generates the QR may need its own declaración responsable; check your architecture with your tax advisor.

Full answer: [/verifactu/compliance-and-responsibilities#software-built-on-the-api](/verifactu/compliance-and-responsibilities#software-built-on-the-api)

### Does the business that issues the invoices sign a declaración responsable?

*¿La empresa emisora firma la declaración responsable de BeeL.?*

BeeL.'s declaración responsable is signed by its producer, Honey Solutions, S.L., not by the businesses that issue invoices through it. The obligations of whoever issues an invoice, under the RD 1619/2012 and article 29.2.j of the Ley General Tributaria, remain the issuer's.

Full answer: [/verifactu/compliance-and-responsibilities#the-issuing-business](/verifactu/compliance-and-responsibilities#the-issuing-business)

### Is BeeL. certified or homologated by AEAT?

*¿BeeL. está certificado u homologado por la AEAT?*

No. AEAT does not certify, homologate or approve billing software, and requires no prior registration: under article 13 of the RD 1007/2023 the producer certifies its own system through a declaración responsable, which for BeeL. is signed by Honey Solutions, S.L.

Full answer: [/verifactu/compliance-and-responsibilities#declaracion-responsable](/verifactu/compliance-and-responsibilities#declaracion-responsable)

### Does BeeL. work in VERI*FACTU mode or as a "no VERI*FACTU" system?

*¿Modalidad VERI*FACTU o sistema no VERI*FACTU?*

BeeL. submits records only in the VERI*FACTU modality, when each invoice is issued, and does not offer the "no VERI*FACTU" modality. Invoices a NIF issues while VeriFactu is not enabled for it generate no record and are not submitted.

Full answer: [/verifactu/compliance-and-responsibilities#verifactu-modality-only](/verifactu/compliance-and-responsibilities#verifactu-modality-only)

### Do I or my customers need a digital certificate?

*¿Hay que aportar o custodiar un certificado digital?*

No certificate is handed to BeeL. or kept for the submissions: BeeL. submits on the taxpayer's behalf under a signed representation. The NIF's holder signs that representation PDF electronically, once, with their own certificate.

Full answer: [/verifactu/compliance-and-responsibilities#representation-not-a-certificate](/verifactu/compliance-and-responsibilities#representation-not-a-certificate)

### What does BeeL. keep for each invoice, and how do I read it?

*¿Qué registros conserva BeeL. de cada factura?*

Each invoice keeps its billing record, its hash and AEAT's answer. Read them in the invoice's `verifactu` block and in the list of its VeriFactu records.

Full answer: [/verifactu/compliance-and-responsibilities#what-beel-keeps-for-each-invoice](/verifactu/compliance-and-responsibilities#what-beel-keeps-for-each-invoice)

## Architecture and issuing

### Who generates the billing record, its hash and the chain?

*¿Quién genera el registro de alta, la huella y el encadenamiento?*

BeeL., for every invoice it issues: it builds the record, computes its SHA-256 hash, chains it to the previous record of the same issuing NIF and submits it. You never compute or store a chain.

Full answer: [/guides/erp-integration#who-generates-the-record-the-hash-and-the-chain](/guides/erp-integration#who-generates-the-record-the-hash-and-the-chain)

### Can my POS generate the hash and the chain, and BeeL. only sign and submit?

*¿Puede mi TPV generar la huella y el encadenamiento en local?*

No. No request accepts a hash, a previous record or a chain position: BeeL. only registers invoices it numbers and hashes itself.

Full answer: [/guides/erp-integration#who-generates-the-record-the-hash-and-the-chain](/guides/erp-integration#who-generates-the-record-the-hash-and-the-chain)

### If the API is unreachable for a couple of hours, can my POS keep issuing?

*¿Qué pasa si vuestra API no responde? ¿Hay remisión diferida?*

Not invoices: the number is assigned by BeeL. when you issue, and there is no offline mode. Queue the sale, issue it once the API answers with an `Idempotency-Key`, and send the day of the sale as `operation_date`.

Full answer: [/guides/erp-integration#beels-api-does-not-answer](/guides/erp-integration#beels-api-does-not-answer)

### What happens to my invoices when AEAT is down?

*¿Qué pasa si la AEAT no está disponible?*

You keep issuing. BeeL. retries the submission on its own and, if it goes out on a later day than the invoice's issue date, flags it as a late submission.

Full answer: [/guides/erp-integration#aeat-does-not-answer](/guides/erp-integration#aeat-does-not-answer)

### Can invoices carry my customer's identity, with BeeL. invisible to them and to their customers?

*¿Marca blanca, sin que aparezca BeeL. ante la clínica ni el paciente?*

BeeL.'s own PDF and invoice email carry a BeeL. footer. Rendering the invoice document yourself is possible with the data the API returns, but under AEAT's published criteria software that prints invoices or generates the QR may need its own declaración responsable: check that with your tax advisor first.

Full answer: [/guides/branding-and-pdf#white-label-invoices-without-beel-in-sight](/guides/branding-and-pdf#white-label-invoices-without-beel-in-sight)

### Does the API give me the QR or its URL, to print it on my own PDF?

*¿La respuesta incluye la URL de cotejo para generar el QR?*

Yes: `verifactu.qr_url` is the AEAT validation link and `verifactu.qr_base64` the PNG, both from `PENDING`, a few seconds after issuing. Printing them on a document your software renders is an architecture to check with your tax advisor first.

Full answer: [/verifactu/qr-and-pdf#rendering-your-own-pdf](/verifactu/qr-and-pdf#rendering-your-own-pdf)

### Can one integration issue for many businesses, each with its own NIF, series and numbering?

*¿Multi-NIF: varios emisores bajo una misma integración?*

Yes. Each business is a company with its own series, numbering and chain. With managed accounts you provision and pay for them, and operate them from your backend.

Full answer: [/multi-nif/managed-accounts#marketplaces-one-managed-account-per-partner](/multi-nif/managed-accounts#marketplaces-one-managed-account-per-partner)

### Does it work with Stripe Connect Express?

*¿Es compatible con Stripe Connect Express?*

Not partner by partner: BeeL.'s Stripe integration connects accounts that authorise BeeL. directly, one per NIF. With Express, issue from your backend through the API on each partner's `company_id`.

Full answer: [/stripe/edge-cases-and-limits#what-about-stripe-connect-express-vs-standard](/stripe/edge-cases-and-limits#what-about-stripe-connect-express-vs-standard)

## VeriFactu

### Does the API generate cancellation records and corrective invoices (R1–R5)?

*¿Genera registros de anulación y rectificativas R1 a R5?*

Yes. Voiding an invoice sends a cancellation record of its own, and each corrective, R1 to R5, gets its own registration; R5 is the one for simplified invoices.

Full answer: [/verifactu/cancel-and-fix#the-30-second-decision](/verifactu/cancel-and-fix#the-30-second-decision)

### How do I tell a cancellation requested from a cancellation accepted by AEAT?

*¿Cómo distingo anulación pedida de anulación aceptada por la AEAT?*

List the invoice's VeriFactu records: the `VOID` record has its own `submission_status`, `PENDING` until AEAT answers and `VOIDED` once it accepts. If you voided while the registration was still `PENDING`, the cancellation goes out after the registration is accepted.

Full answer: [/verifactu/cancel-and-fix#did-aeat-accept-the-cancellation](/verifactu/cancel-and-fix#did-aeat-accept-the-cancellation)

### Can an ACCEPTED invoice be rejected by AEAT later?

*Rechazo tardío: ¿una factura aceptada puede pasar a rechazada?*

No. BeeL. stops asking AEAT once a record is `ACCEPTED`, and nothing moves it to `REJECTED` afterwards, so no later webhook reports a rejection. Only a void you send changes it, to `VOIDED`.

Full answer: [/verifactu/submission-states#is-accepted-final](/verifactu/submission-states#is-accepted-final)

### Can a REJECTED invoice change later?

*¿Una factura rechazada puede cambiar de estado?*

No. A temporary AEAT server error keeps the invoice `PENDING` while BeeL. retries it, so a `REJECTED` invoice does not move on its own: read its `error_code` and fix it.

Full answer: [/verifactu/handling-rejections#a-temporary-aeat-error-stays-pending](/verifactu/handling-rejections#a-temporary-aeat-error-stays-pending)

### Can a NIF issue outside VeriFactu?

*¿Un NIF puede quedar fuera de VeriFactu (enabled=false)?*

In production, until its VeriFactu is enabled or if you turn it off: its invoices are then issued with `verifactu.enabled: false` and not submitted. In sandbox VeriFactu is always on.

Full answer: [/verifactu/auto-submit#what-decides-it](/verifactu/auto-submit#what-decides-it)

### What does each new issuer have to sign, and can onboarding be done entirely by API?

*¿Qué firma cada clínica para que remitáis en su nombre? ¿Se hace por API?*

Only the VeriFactu representation, signed electronically by the NIF's holder, once. Creating the NIF, switching it on, generating and uploading the representation and enabling VeriFactu are all API calls.

Full answer: [/multi-nif/companies#signing-the-verifactu-representation](/multi-nif/companies#signing-the-verifactu-representation)

## Webhooks

### How often, and for how long, are failed webhooks retried?

*¿Cuál es la política de reintentos de los webhooks?*

7 attempts in total, the first included, on a fixed schedule that spreads them over about 3 days; in sandbox only the first 3 attempts, over a few minutes. An outage of your endpoint longer than that exhausts them.

Full answer: [/webhooks/retries#how-long-the-retries-last](/webhooks/retries#how-long-the-retries-last)

### My endpoint was down: how do I recover the events I missed, and until when can I?

*¿Cómo recupero los webhooks perdidos tras una caída?*

BeeL. keeps retrying on its own for about 3 days. For a longer outage, retry the failed deliveries from the delivery log, or re-read the resources that changed. A manual retry has no age limit while the subscription exists.

Full answer: [/webhooks/retries#how-long-the-retries-last](/webhooks/retries#how-long-the-retries-last)

### Is each automatic webhook retry signed with a fresh timestamp?

*¿Los reintentos automáticos llevan una firma nueva?*

Yes. Every attempt, automatic or manual, carries a new `t` and a new `v1`, so the replay window never rejects a legitimate retry.

Full answer: [/webhooks/signatures#every-attempt-is-signed-afresh](/webhooks/signatures#every-attempt-is-signed-afresh)

### Is every VeriFactu status change delivered as a webhook?

*¿Se notifica por webhook cada cambio de estado de VeriFactu?*

Every change of the public status is: `verifactu.status.updated` also covers a submission refused before it reached AEAT and one BeeL. stopped waiting for. A temporary AEAT error keeps the invoice `PENDING` and sends nothing. Reconcile periodically anyway, in case your endpoint misses deliveries.

Full answer: [/verifactu/handling-rejections#reconcile-do-not-only-listen](/verifactu/handling-rejections#reconcile-do-not-only-listen)

## Integration

### What are the API rate limits, and what happens when I exceed them?

*¿Cuál es el límite de peticiones de la API?*

300 requests a minute per API key on most endpoints. Going over returns `429` `RATE_LIMIT_EXCEEDED` with a `Retry-After` header.

Full answer: [/guides/rate-limits](/guides/rate-limits)

### How should I pace a job that polls invoice states?

*¿Cada cuánto consultar estados sin superar el límite?*

List with filters instead of reading invoices one by one, sweep only the states that can still change, and stay well under your per-key budget. Webhooks are the fast path; the job is the safety net.

Full answer: [/guides/rate-limits#pacing-a-polling-or-reconciliation-job](/guides/rate-limits#pacing-a-polling-or-reconciliation-job)

### If my system retries a request, can it issue a duplicate invoice?

*¿Un reintento puede duplicar una factura?*

Not if you send an `Idempotency-Key`: for 24 hours the same key returns the original response instead of issuing again.

Full answer: [/guides/idempotency](/guides/idempotency)

### Is there a status page?

*¿Hay una página de estado del servicio?*

Yes: status.beel.es reports uptime, incidents and scheduled maintenance.

Full answer: [/guides/rate-limits#api-status](/guides/rate-limits#api-status)

## Sandbox and pricing

### Is there a sandbox, and does it cost anything or expire?

*¿Hay sandbox? ¿Tiene coste o límite de tiempo?*

Yes: a `beel_sk_test_` key on the same URL as production. It is free, needs no card and does not expire.

Full answer: [/verifactu/testing-in-sandbox#access-cost-and-time-limits](/verifactu/testing-in-sandbox#access-cost-and-time-limits)

### Can I build the whole integration in sandbox before going live?

*¿Se puede integrar por completo en sandbox antes de producción?*

Yes: same endpoints and responses, with submissions going to AEAT's test environment. Only signing a NIF's representation and production billing need Live.

Full answer: [/verifactu/testing-in-sandbox#can-i-build-the-whole-integration-in-sandbox](/verifactu/testing-in-sandbox#can-i-build-the-whole-integration-in-sandbox)

### What does the API cost for one NIF, and how many invoices does it include?

*¿Precio exacto para un NIF y facturas incluidas?*

19 € a month, excluding VAT and billed monthly: there is no annual option on the API plan. It includes 250 invoices in production a month; each one past that costs 0.01 €.

Full answer: [/pricing#api-plan](/pricing#api-plan)

### How much for several NIFs, for example 20 to 100 issuers?

*¿Precio para varios NIF o para una plataforma con muchos emisores?*

Beyond one NIF the price is agreed with BeeL., per NIF. Contact sales at beel.es/contacto or hola@beel.es with the number of NIFs and the invoices per NIF.

Full answer: [/pricing#custom-pricing](/pricing#custom-pricing)

### Are prices with VAT, and is there a minimum commitment?

*¿El precio incluye IVA? ¿Hay permanencia?*

Prices exclude VAT. There is no setup fee and no minimum commitment: plans renew automatically and can be cancelled at any time.

Full answer: [/pricing#api-plan](/pricing#api-plan)

### Do sandbox invoices or drafts count towards the included invoices?

*¿Cuentan las facturas de sandbox o los borradores?*

No. Only invoices issued in production count; drafts, sandbox invoices and deleted invoices do not.

Full answer: [/pricing#what-counts-as-an-invoice](/pricing#what-counts-as-an-invoice)


> **Rules that apply here:** [REC-006 · No certificate is needed to sign records](/rules/records#rec-006)

---

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