ConfigurationVeriFactu

Update VeriFactu configuration

Deprecated. Use PUT /v1/companies/{company_id}/verifactu-configuration, which behaves identically.

Updates the VeriFactu configuration of the company in focus.

  • Writable fields: only enabled. The rest of the returned configuration (status, signed, activated, nif_status) is resolved server-side.
  • Full replacement: enabled is required — this PUT replaces the whole state, it is not a partial merge, so omitting it is a client error and not a silent false.
  • Turning it on registers the NIF for VeriFactu submission in the same call, atomically: if the registration is refused nothing is persisted and the response carries the reason. In Live it requires a signed and validated AEAT representation first, or 422 VERIFACTU_REPRESENTATION_REQUIRED.
  • Sandbox is always on: enabled: false there answers 422 VERIFACTU_ALWAYS_ON_IN_SANDBOX.

Turning it off

Setting enabled to false stops sending invoices to the AEAT and starts deregistering the NIF from VeriFactu submission. It does not deactivate the NIF: the activation is a fact of its own for the (company, environment) pair, so issuing carries on and issuing-readiness stays ready. Releasing the NIF is always DELETE /v1/companies/{company_id}/activations, with its own guarantees.

Retires on 9 December 2026. See the migration guide for what moved where and what changes when you switch.

put/v1/configuration/verifactu

Request

  • Base URL: https://app.beel.es/api
  • URL: https://app.beel.es/api/v1/configuration/verifactu
  • Auth: HTTP bearer

Request body

enabledboolean required

Whether this tax ID is under the VeriFactu regime in the environment of the request.

It is a fact about the taxpayer, not about a document: while it is on, every invoice of this tax ID is registered with the AEAT; while it is off, none is. There is no per-invoice choice.

Turning it on registers the tax ID for VeriFactu submission in the same call, atomically: if the registration is refused, nothing is persisted and the response carries the reason. In Live it requires a signed and validated AEAT representation first (VERIFACTU_REPRESENTATION_REQUIRED).

In sandbox VeriFactu is always on and cannot be turned off (VERIFACTU_ALWAYS_ON_IN_SANDBOX): nothing there reaches the real AEAT.

Response

Configuration updated successfully

successboolean required

Example response

{
  "success": true,
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.