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 Configuration โ†’ Apps 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
VeriFactu supplier example
{
  "$schema": "https://gobl.org/draft-0/org/party",
  "name": "Invopop S.L.",
  "tax_id": {
    "country": "ES",
    "code": "B85905495"
  },
  "addresses": [
    {
      "num": "42",
      "street": "Calle Pradillo",
      "locality": "Madrid",
      "region": "Madrid",
      "code": "28002",
      "country": "ES"
    }
  ],
  "emails": [
    {
      "addr": "billing@example.com"
    }
  ]
}
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

A KO will be triggered and the supplier will be labelled with the Error state. We currently recommend sending a reminder to the supplier through a webhook.The registration link will not expire and the entity will still be able to upload their registration documents which will be validated. Should you choose to run this workflow again using this supplier, the supplier will be accepted or rejected immediately because the required documentation has already been provided and validated.
If the uploaded agreement documents were rejected, a KO will be triggered and the supplier will be labelled with the Error state. We currently recommend sending a notification to the supplier through a webhook within the Error Handling section.Afterwards, if you wish to re-register the supplier with new documents, you must:
  1. Unregister the supplier using the Unregister Supplier workflow.
  2. Re-run the Register supplier workflow.
This will restart the entire registration process. When uploading documents, the previously submitted agreement will appear selected by default. Simply choose a new file and click Continue to override the old one. See the image below for reference:
Overriding the previously submitted agreement

Overriding the previously submitted agreement

In order to complete the representation agreement you will need to provide the following information:

Company

  1. Name
  2. CIF
  3. Address
  1. Full name
  2. Government ID type and number
  3. Address
If the entity is an self-employed individual (autรณnomo), only the information requested in in the Legal representative section is required.
The supplier can add their electronic signature to the PDF document (instructions), or sign with a handwritten signature (we recommend using Adobeโ€™s online service.
Individual documents are limited to a maximum size of 10MB. Uploads exceeding this size will result in an error.