NewStripe: a buyer with a NIF always gets a standard invoice, and the simplified threshold is deprecated
BeeL
Get startedMulti-NIFVeriFactuRulesStripeAPI referenceChangelog
VeriFactu Configuration

Get VeriFactu configuration (deprecated)

Scopeconfiguration:read

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

Returns the VeriFactu configuration in force for the company in focus.

  • Writable state: enabled says whether this tax ID is under the VeriFactu regime in this environment: while it is on, every invoice of the NIF is registered with the AEAT.
  • Resolved state: status, signed, activated and nif_status are read-only and resolved server-side.

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


GET
/v1/configuration/verifactu
AuthorizationBearer <token>

Keys are prefixed beel_sk_, and each one carries the scopes it was created with: a key short of the scope an operation needs is answered 403. The scope an operation requires is shown next to its title, and the full catalogue lives in the Scopes reference.

Keys are created from the BeeL dashboard. They are secret credentials: do not share them or commit them to source control.

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://app.beel.es/api/v1/configuration/verifactu"
{
  "success": true,
  "data": {
    "enabled": true,
    "nif_status": "ACTIVATED",
    "nif_registered_at": "2019-08-24T14:15:22Z",
    "status": "DISABLED",
    "signed": true,
    "activated": true,
    "pdf_generated": true
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Authentication is required to access this resource"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "FORBIDDEN",
    "message": "You do not have permission to access this resource"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "Internal server error"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "UNSUPPORTED_MEDIA_TYPE",
    "message": "Unsupported media type: text/plain. Supported: application/json"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}

Update the VeriFactu configuration of a company PUT

Replaces the VeriFactu configuration of a company. - **Writable fields:** only `enabled`, and it is required — this is a full replacement, not a partial merge. The rest of the returned configuration is resolved server-side. - **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 this company's invoices to AEAT and starts deregistering the NIF from VeriFactu submission. It does not deactivate the company: the activation is a fact of its own for the (company, environment) pair, so the company keeps issuing in that environment and stays `ready`. Releasing the NIF — and in Live freeing it for another account — is always `DELETE /v1/companies/{company_id}/activations`.

Update VeriFactu configuration (deprecated) PUT

**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](https://docs.beel.es/changelog/resources-under-the-nif) for what moved where and what changes when you switch.