Introduction

The Spanish Tax Agency (AEAT) requires that companies formally authorize Invopop to issue invoices on their behalf. To comply with this regulation, the supplier’s legal representative must sign an agreement granting Invopop the necessary consent to generate and manage invoices in their name. This signed authorization ensures that all invoicing activities carried out by Invopop are legally valid and recognized by the AEAT. For this process, the supplier can sign the agreement PDF with a valid digital certificate, such as one issued by the FNMT, or a handwritten signature with a company stamp (sello de empresa), in which case the user must provide a valid ID such as DNI, NIE or passport.

Set-up

1

Connect the VERI*FACTU app

  1. Go to ConfigurationApps in the Console.
  2. Find VERI*FACTU Spain in the app list.
  3. Click Connect to activate the app.
VERI*FACTU app connected

Connect the VERI*FACTU app

After connecting, you’ll see VERI*FACTU listed in the Enabled Apps section.
2

Create a supplier registration workflow

Create a new workflow in your workspace for registering suppliers. You should start with the template below:

How VERI*FACTU supplier registration works

The process is best explained looking at the workflow steps:
Supplier Registration Workflow

Supplier Registration Workflow

  1. Register supplier will generate a unique URL and add it into a url key value within the meta property. You would add a webhook after this step to notify the supplier.
  2. Set State to Processing labels the silo entry so you know it’s in process of registration.
  3. Wait for supplier registration waits for the supplier to upload the required documents (signed agreement and ID). The supplier will be entitled to issue invoices through VERI*FACTU immediately after the documents are uploaded.
  4. Set State to Registered labels the silo entry so you know registration is complete.
  5. Wait for supplier approval In live environments, Invopop will review the documents provided by the supplier in less than 72 hours. In sandbox, you can configure the workflow step to accept or reject providers. Open rejection the workflow will error with a KO and the reason for rejection can be reviewed in the Supplier or in the executed job. The supplier’s invoice issuing entitlement will be revoked immediately.
In sandbox “Wait for supplier approval” can be configured to accept or reject suppliers. Re-running the workflow will not change the approval outcome, the supplier must be unregistered first.

Register a Supplier

Suppliers need to provide the following documents for Invopop to issue invoices on their behalf:
  1. A signed direct representation agreement. If the supplier is a self-employed individual (autónomo), stamping is unnecessary.
  2. A copy of signatory’s fiscal ID (DNI/NIE or passport in the case of non-residents) if the agreement is not e-signed with a valid certificate.
These documents can be collected through a multi-step web form (wizard) which enabled through the Supplier registration workflow created during VERI*FACTU Invoicing setup.
Supplier registration wizard

Supplier registration wizard

If you have special needs regarding the onboarding of suppliers for VERI*FACTU (such as using third party identity verification services), it’s possible to implement your own onboarding process through the API. The process would be the following:

Onboard suppliers through the API

1

Upload supplier

Create entry
/silo/v1/entries/{id}
Besides the supplier’s basic information, the entry should contain a people object containing a person who will act as the legal representative of the supplier.
2

Create a job with the supplier registration workflow

Create a job
https://api.invopop.com/transform/v1/jobs/{id}
The same workflow is used for API onboarding
3

Generate the agreement PDF

Generate agreement PDF
apps/verifactu/v1/entry/:silo_entry_id/agreement
The agreement file will be created with the supplier’s data.
4

Upload documents

Upload agreement PDF
apps/verifactu/v1/entry/:silo_entry_id/agreement
Upload the agreement into the supplier’s silo entry.
Upload identity images
apps/verifactu/v1/entry/:silo_entry_id/identity
Upload the ID into the supplier’s silo entry (can be DNI, NIE or Passport).
5

Confirm upload

Confirm https://api.invopop.com/apps/verifactu/v1/entry/:silo_entry_id/confirm
Call this endpoint to confirm that everything has been prepared correctly and the supplier is ready to start operating.
Whether you issue invoices on behalf of third parties (white label) or under your own name, the process is essentially the same. However, we divide the use case here for clarity:
1

Upload a supplier

Use the Create an entry endpoint to upload a new supplier. Include a party (you can copy the example below) object in the data field. The following fields are required:
  • name
  • tax_id
  • address
  • email
You should see the supplier in the Contacts section with status Empty after creating the entry.
Upload supplier to Invopop

Upload supplier to Invopop

2

Send the supplier to the registration workflow

With the API: Send the supplier to the registration workflow using the Create a job endpoint. Use:
  • The Silo Entry ID of the supplier you uploaded on the previous step
  • The Supplier Registration Workflow ID from the Setup section
Through the Console: Locate the recently created supplier in the Contacts section and tap on “Select Workflow”. From the side panel, select the VERI*FACTU supplier registration workflow you created in the Setup section.
The supplier’s status will change to Processing while waiting for supplier registration and verification. Once these steps are completed successfully, the supplier’s status will change to Registered. If not successful because the supplier did not complete the process or their documentation was rejected, the status will change to Error, and you can inspect the job history of this document to see the reason.
Supplier registered

Supplier registered successfully

If a supplier’s agreement documentation is rejected and you need to onboard them again, follow the instructions in what happens if a supplier validation is rejected
If you need to unregister an entity (because the supplier is no longer your client, for example), use the following workflow template:

FAQ