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.
Before starting, review the workflows guide to understand the general setup process.In Console, create a new workflow and choose Empty Party workflow as the base. Then name the workflow with a descriptive label such as โVERI*FACTU Supplier Registrationโ.The new workflow will need to perform the following steps:
Register supplier - Sends an email to the supplier with a registration link.
Set State โ select โProcessingโ.
Wait for supplier registration - Configure the wait time (in days) for the supplier to complete the registration form, sign agreements and attach the required documentation.
Set State โ select โRegisteredโ.
Wait for supplier approval - Invopop will validate the provided supplier documentation in less than 72 hours. If rejected it will generate an error and block the supplier from issuing invoices.
Set State โ select โRegisteredโ
Finally, in the Error Handling area, add the Set State action and select Error.Add any additional steps you may need, and save the new workflow.
The process is best explained looking at the workflow steps:
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.
Set State to Processing labels the silo entry so you know itโs in process of registration.
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.
Set State to Registered labels the silo entry so you know registration is complete.
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.
Suppliers need to provide the following documents for Invopop to issue invoices on their behalf:
A signed direct representation agreement. If the supplier is a self-employed individual (autรณnomo), stamping is unnecessary.
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.
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:
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
Confirmhttps://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:
Upload and register third-parties
Upload and register your company
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:
You should see the supplier in the Contacts section with status Empty after creating the entry.
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.
In Console create a new workflow and select Empty Party workflow in the template selector, then add the following steps:
Unregister supplier - Revokes invoice issuing authorization by the AEAT.
Set State - Select void to label the supplier accordingly.
In the Error Handling section, add the Set State action and select Error.
1
Create your company in the Supplier section
We will set up your company as a supplier within Invopop so that we can register it for issuing VERI*FACTU invoices. First, click on Suppliers on the left sidebar and click on the New Supplier button at the top right corner of the screen:We suggest that you copy and modify our example supplier to your own information, then you can paste it into the editor in Code View. Then switch to Form view as indicated in the screenshot, this will build and validate the silo entry and, if there are no errors, youโll be able to save your companyโs information as a Silo Entry.
After saving, youโll see your company in the Suppliers section with status Empty.
2
Send your company to the registration workflow
Locate your company in the Suppliers section and tap on โSelect Workflowโ. From the side panel, select the VERI*FACTU supplier registration workflow you created in the Setup section.The status will change to Processing while waiting for you to upload the required documents. As soon as the documents are uploaded, the state will change to registered and it will be possible to issue VERI*FACTU invoices. However, in the rare case we detect a problem with the documentation provided, we will revoke it and you must follow the instructions in what happens if a supplier validation is rejected.
What happens if a supplier does not complete their registration within the allotted wait time?
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.
What happens if a supplier validation is rejected?
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:
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:
What is the minimum information required to register a supplier?
In order to complete the representation agreement you will need to provide the following information:
If the entity is an self-employed individual (autรณnomo), only the information requested in in the Legal representative section is required.
What methods are available to sign the PDF supplier agreements?
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.
What is the file size limit for the documents provided in the supplier registration flow
Individual documents are limited to a maximum size of 10MB. Uploads exceeding this size will result in an error.