Skip to main content

Verifactu

Verifactu is the standardized digital format for submitting all invoices issued in Spain to the tax administration (AEAT - Agencia Estatal de Administración Tributaria).

Quaderno is officially recognized software for Verifactu by the Spanish Tax Agency.

Thanks to our API, complying is as easy as sending your sales and refund data to Quaderno in a single API call. You will receive a JSON response with the signed PDF of the document, which contains a QR code to ease later verification.

tip

You can test the Verifactu integration in our Sandbox environment, which simulates the production environment without sending real data to the AEAT.

Connecting Verifactu

To start using Verifactu in Quaderno, follow these steps:

  1. Upload your electronic certificate on the Certificates page. The certificate must be issued to the same tax ID and name that appear in your Quaderno account.
  2. Connect the Verifactu integration from the Integrations page page.

Sending sales and refunds data

Send your sales and refunds data to Quaderno as usual, using our Transactions API.

These guides will walk you through the process:

When the Verifactu integration is enabled, Quaderno will automatically send all invoices and credit notes to the AEAT.

Verifactu's verification_code and verification_url will be available from the API responses, and generated invoices will display their verification ID and a QR code, allowing your customers to confirm the status of the invoice with the Spanish Tax Agency.

Here's an example of a payload to POST to the /transactions endpoint:

{
"type": "sale",
"currency": "EUR",
"customer": {
"first_name": "Luis",
"last_name": "García",
"street_line_1": "Calle Alcalá",
"city": "Madrid",
"postal_code": "28014",
"country": "ES",
"tax_id": "00000000T"
},
"evidence": {
"billing_country": "ES",
"ip_address": "255.255.255.255",
"bank_country": "ES"
},
"items": [
{
"description": "Suscripción mensual a contenido digital",
"amount": 9.90,
"product_code": "DIG_ES_001",
"tax": {
"country": "ES",
"rate": 21.0,
"tax_code": "eservice",
"name": "IVA"
}
}
],
"payment": {
"method": "credit_card"
},
"processor": "aPaymentProcessor",
"processor_id": "pp_0123456789"
}

Delivery events

When an invoice or credit note is sent to the Spanish Tax Agency via Verifactu, Quaderno will generate a delivery event to notify you of the result. You can subscribe to these events using webhooks to receive real-time notifications in your application.

The available delivery events are:

  • delivery.succeeded – The document was successfully delivered to the tax authorities.
  • delivery.failed – The delivery failed due to a technical error (e.g., network issues, service unavailable).
  • delivery.rejected – The tax authorities rejected the document due to validation errors in the data.

These events allow you to automate your workflow and take appropriate action based on the delivery status, such as notifying customers, retrying failed deliveries, or correcting rejected documents.

Limitations

Once you enable the Verifactu integration, keep these limitations in mind:

  • You won't be able to assign a custom number or issue_date to invoices or receipts. They will be assigned automatically.
  • For full invoices to Spanish customers, Quaderno will validate that the customer's name and NIF are registered with the Spanish Tax Agency. If the validation fails, the invoice will be saved as a draft, requiring you to manually correct the customer details in the account inbox before it can be sent.
  • The Verifactu integration cannot be disabled. If you need to stop sending invoices, you must contact our support team.