Digiteal Reference documentation

Welcome to the Digiteal technical reference documentation.

Digiteal allows you to create e-invoices and handle payments. This document will provide a high level overview on how to use these services.

If you wish to access the technical detailed description of the API, feel free to dive right into it:

Here are the services provided by Digiteal:

Do you need technical support?
Get in touch with our support department.
Do you have a sales question?
Get in touch with our sales team.
Do you want a global overview of Digiteal ?
Visit the Digiteal website.

Who should read this ?

This technical documentation is provided for:

  • Companies that want to integrate with the Digiteal services in order to send out their bills to their Digiteal clients. These companies use a custom software solution to send out their bills.
  • Integrators, software companies, ERP, that are willing to provide a plugin for their clients to allow them sending out bills through Digiteal, avoiding hazardous customization.

If you have any questions, remarks or propositions please contact support

Naming conventions

  • Issuer : The company that is sending the invoice.
  • Requester : The company which is requesting a payment.
  • Integrator : The company acting as an integrator for other companies who want to request a payment.

Technology

All services provided by digiteal are exposed as REST services and use JSON as interchange format.

All services implemented by the requester should be exposed as REST services and use JSON as interchange format.

All services are provided over an HTTPS connection.

Authentication

The service is using a secure HTTP connection combined with basic authentication mechanism for authentication. The login and password are the same as chosen by you during the registration. For more information on the registration process please consult the registration documentation

See Webhooks

Registration process

If you want to make use of the Digiteal services you need to register your free account on the Digiteal platform. With this account you will be able to generate invoices and upload invoice documents. The clients that chose to use the Digiteal platform to receive your bills will be notified, have the possibility to view the invoices and pay them.

If you want to integrate our payment solution in your application please contact our sales for anything related to conditions and dev support for anything related the technical integration of our solution.

Registration form

In order to create invoices you need to register an account on the DigiTeal platform. This can be done on the registration page

During this phase we need the following information

  • Company name: as known by the Crossroads Bank for Enterprises
  • VAT number
  • E-mail

Confirm email

As soon as you hit the “Sign up” button, Digiteal will send an email to the email address you provided. This allows us to verify if this address is correct and related to you. Click on the confirmation link to complete this process.

This e-mail address will act as login for the Digiteal platform and the web services.

On your right you see a screenshot with the confirmation after submitting the registration and the confirmation mail.

Complete profile

Once the validation step is completed, your profile has to be completed with the following information:

  • provide one or more valid bank account(s)
  • provide a copy of the documents (PDF format) to prove that you are the responsible for your company
    • copy of the identity card
    • copy of the statutes of your company

Done

Once these steps are completed the Digiteal Team will validate your profile details. You will be notified by email once your account has been activated or be provided with the reasons why it can’t be activated. When your account is validated by the Digiteal team you will be able to send invoice metadata, upload the matching original documents and generate invoices.

Prefilled registration

To simplify the on-boarding of your customers you either two options:

  • a link with prefilled information
  • an API call to transfer to Digiteal all the information that you already have to speed up their onboarding process
The easiest way is to give them a link with some prefilled information. They will be redirected to our web platform and should only choose a password to finish the first step of the registration. If you want to go the extra mile and really speed things up, you can call the pre-registration API and provide a lot more information.

Company registration link

digiteal-env

the environment on which you want to use this (https://app.digiteal.eu, https://test.digiteal.eu)

e-mail

the email address of your client

This value is passed as a PATH parameter. Do not forget the /? after this value. If this is not present then the form will not be pre-filled

vatNumber

the vat number of your client's company

integratorID

your integrator ID (can be found in your profile)

companyName

the name of your client's company

pack

the pack that should be pre-selected to onboard the company: DISCOVER (free but the company cannot collect funds through it), START, GO and POC.

forBusiness

should be true if you want the company registration page to be displayed but you did not provide either the vatNumber or the companyName

{digiteal-env}/#/register/{e-mail}/?vatNumber={vatNumber}&integratorID= {ID}&companyName={name}&pack=START

Person registration link

digiteal-env

the environment on which you want to use this (https://app.digiteal.eu, https://test.digiteal.eu)

e-mail

the email address of your client

This value is passed as a PATH parameter. Do not forget the /? after this value. If this is not present then the form will not be pre-filled

firstName

the firstName of the person

lastName

the last name of the person

integratorID

your integrator ID (can be found in your profile)

{digiteal-env}/#/register/{e-mail}/?firstName=John&lastName=Doe&integratorID= {ID}

Company pre-registration API

An integrator that wishes to further ease the Digiteal registration process can use an API provided by Digiteal to pre-register a company. This API enables the integrator to send all the information required to perform a complete KYC of the company in Digiteal. The following information is mandatory: vat number, company name, company creation date, email of the contact person. The details of the data to send is described in the CompanyCustomerKYCInfo. The integrator is invited to complete as much information as he can using the following methods:

  • Pre-register the company that takes a CompanyCustomerKYCInfo as JSON payload
  • Send the various documents that takes a multipart/form-data payload to receive documents of type: ID (front and back of the identity document of the contact person), SELFIE_WITH_ID (picture of the contact person with the front of her ID document), BY_LAWS (latest by laws of the company describing the persons that can represent it)
After this information has been provided, the contact person will receive an email inviting her to activate their account. Three reminders will be sent to invite the user to activate his account. The contact person will be able to choose a password and complete her KYC process. Every information missing will be asked during the KYC process. Every information provided will be available after the KYC process to allow the user to review it.

Company national identifiers

The official scheme id spec from ISO is ISO 6523 but we reused the Peppol version which is a simplified version. A Company identification number is composed of two main parts: SCHEME_ID and NUMBER. The representation is done by separating the SCHEME_ID and NUMBER by a column (':'): 'SCHEME_ID:NUMBER'.

The SCHEME_ID is the type of identifier used (can be broken down into country code and type). Available SCHEME_IDs are:

  • AD:VAT
  • AL:VAT
  • AT:FN: Business Register Number (Firmenbuchnummer, FN), see official documentation. The NUMBER format is "[0-9]{1,6}[A-Za-z][0-9]{0,3}".
  • AT:VAT
  • AT:VAT
  • BA:VAT
  • BE:CBE
  • BE:EURN: belgian Establishment Unit Registration Number. The NUMBER format is "[2-9][0-9]{9}."
  • BE:FASEI: school location based on the FASE "implantation" number of the French community. The NUMBER format is composed of the CBE|EURN number followed by 'F' and then the FASE implantation number ("[0-9]{10}F[0-9]+")
  • BE:VAT
  • BG:VAT
  • BY:VAT
  • CA:BN
  • CA:VAT
  • CH:VAT
  • CS: CreditSafe identifier. The NUMBER format is "^[A-Z]{2}-[X\d]-[A-Z0-9]{6,15}$".
  • CY:DRCOR: Αριθμός Εγγραφής στο Τμήμα Εφόρου Εταιρειών και Επίσημου Παραλήπτη (Registration number given by the Department of Registrar of Companies and Official Receiver)), see official documentation. The NUMBER format is "[COP][0-9]{0,8}".
  • CY:VAT
  • CZ:ICO: Czech registration ID (ex: CZ:ICO:12345678). The NUMBER format is "[0-9]{8}".
  • CZ:VAT
  • DE:HRA: HRA register for companies (ex: DE:HRA:12345-Hannover). The NUMBER format is "[0-9]{1,12}(-[0-9a-zA-Z]{0,30}(-[0-9]{2})?)".
  • DE:HRB: HRB register for companies (ex: DE:HRA:5678-Bonn). The NUMBER format is "[0-9]{1,12}(-[0-9a-zA-Z]{0,30}(-[0-9]{2})?)".
  • DE:VR: VR register for associations (ex: DE:VR:1234-Munchen). The NUMBER format is "[0-9]{1,12}(-[0-9a-zA-Z]{0,30})".
  • DE:VAT
  • DK:CVR: CVR-nummer, see official registry. The NUMBER format is "[0-9]{8}".
  • DK:VAT
  • EE:REG: Estonian company registration number (see registry). The NUMBER format is "[0-9]{8}".
  • EE:VAT
  • EL:VAT
  • ES:NIF: Fiscal Identification Number (see description, ex: A28015865). The NUMBER format is "[A-Z0-9]{9}".
  • ES:VAT
  • FI:OVT: Finland Business ID (ex: FI:OVT:12345678). The NUMBER format is "[0-9]{8}".
  • FI:VAT
  • FR:NIRA: Numéro d'Inscription au Registre des Associations: french association in Moselle, Bas-Rhin and Haut-Rhin. The NUMBER format is "[0-9]+V[0-9]+F[0-9]+".
  • FR:OCCE: Numéro de coopérative scolaire de l'OCCE: the number is composed of the french SIRET of the OCCE of the deparment followed by an "N" and then the cooperative number in that OCCE department. The NUMBER format is "[0-9]{14}N[0-9]+".
  • FR:RNA: French association. The NUMBER format is "W[0-9]{9}".
  • FR:SIREN: French company. The NUMBER format is "[0-9]{9}".
  • FR:SIRET: French establishment. The NUMBER format is "[0-9]{14}".
  • FR:VAT
  • GB:CRN
  • GB:VAT
  • GLN: See Global Location Number
  • GD:VAT
  • GR:VAT
  • HA:VAT
  • HR:MBS: Matični broj subjekta trgovačkog suda (MBS), see official registry. The NUMBER format is "[0-1][0-9]{8}".
  • HR:VAT
  • HU:CEG: Cégjegyzékszám (CEG), see official registry. The NUMBER format is "[0-9]{2}(-)[0-9]{2}(-)[0-9]{6}".
  • HU:VAT
  • IE:CRO: Companies Registration Office (CRO) number, see official registry. The NUMBER format is "[1-9][0-9]{1,6}".
  • IE:VAT
  • IT:FTI: Tax code number (ex: IT:FTI:12345678901). The NUMBER format is "[0-9]{11}".
  • IT:VAT
  • IL:EDI
  • LEI: Legal Entity Identifier (see registry)
  • LI:VAT
  • LT:LEC: Organization identifier number in Lithuania (ex: LT:LEC:123456789). The NUMBER format is "[0-9]{9}".
  • LT:VAT
  • LU:RCS: Trade and Companies Register number (ex: LU:RCS:B123456). The NUMBER format is "[A-Z][0-9]{1,12}".
  • LU:VAT
  • LV:REG: Legal entity identifier in Latvia (ex: LV:REG:12345678901). The NUMBER format is "[0-9]{11}".
  • LV:VAT
  • MC:VAT
  • ME:VAT
  • MK:VAT
  • MT:VAT
  • NL:KVK: KVK number (ex: NL:KVK:12345678). The NUMBER format is "[0-9]{8}".
  • NL:VAT
  • NO:ORG: Numerical identifier in the Norwegian Register for Legal Entities (ex: NO:ORG:123456789). The NUMBER format is "[0-9]{9}".
  • NO:VAT
  • PH:VAT
  • PL:KRS: National Court registry identifier in Poland (ex: PL:KRS:1234567890). The NUMBER format is "[0-9]+".
  • PL:REGON: REGON registry identifier in Poland (ex: PL:REGON:123456789 or PL:REGON:12345678901234). The NUMBER format is "[0-9]{9}|[0-9]{14}".
  • PL:VAT
  • PT:VAT
  • SI:TIN: Slovenian company tax identification number (see registry). The NUMBER format is "[1-9][0-9]{7}".
  • SI:VAT
  • SE:ORGNR: Swedish Organization Number (ex: SE:ORGNR:1234567890). The NUMBER format is "[0-9]{10}".
  • SE:VAT
  • SK:VAT
  • SM:VAT
  • RO:VAT
  • RS:VAT
  • TR:VAT
  • VA:VAT

The NUMBER is the actual number, unique only by SCHEME_ID (and following the syntactic rules of the SCHEME_ID).

Person pre-registration API

An integrator that wishes to further ease the Digiteal registration process can use an API provided by Digiteal to pre-register a person. This API enables the integrator to send all the information required to perform a complete KYC of the person in Digiteal. Only the email address is mandatory in order to pre-register a person. The details of the data to send is described in the PersonCustomerKYCInfo. The integrator is invited to complete as much information as he can using the following methods:

After this information has been provided, the person will receive an email inviting her to activate their account. Three reminders will be sent to invite the user to activate his account. The person will be able to choose a password and complete her KYC process. Every information missing will be asked during the KYC process. Every information provided will be available after the KYC process to allow the user to review it.

SDD Transfer API

An company or an integrator can transfer the management of their mandates to Digiteal with the SDD Transfer API. This API enables the integrator to send all the information required to perform a complete KYC of a person or a company in Digiteal including the transfer of the mandate. The SEPA Direct Debit (SDD) mandate will be transformed into an automatic payment to give more control to the customer on the withdrawals he will accept. The integrator is invited to complete as much information as he can to further ease the onboarding process of the customer. After this information has been provided, the person/company will receive an email inviting her to activate their account. Three reminders will be sent to invite the user to activate his account. The person/company will be able to choose a password and complete her KYC process. Every information missing will be asked during the KYC process. Every information provided will be available after the KYC process to allow the user to review it.

To speed up the process, you can collect the customer consent. In order to collect a valid consent, the following conditions need to be fulfilled:

  • The following text (legal mention) needs to be presented to the customer:
    • en: By signing this mandate form, you authorise (A) {NAME OF MERCHANT} to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from {NAME OF MERCHANT}. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Please complete all the fields marked.
    • fr: En signant ce formulaire de mandat, vous autorisez (A) {NOM DU CREANCIER} à envoyer des instructions à votre banque pour débiter votre compte, et (B) votre banque à débiter votre compte conformément aux instructions de {NOM DU CREANCIER}. Vous bénéficiez d’un droit à remboursement par votre banque selon les conditions décrites dans la convention que vous avez passée avec elle. Toute demande de remboursement doit être présentée dans les 8 semaines suivant la date de débit de votre compte.
    • nl: Door ondertekening van dit formulier geeft u toestemming aan (A) {NAAM VAN INCASSANT} om doorlopende incasso-opdrachten te sturen naar uw bank om een bedrag van uw rekening af te schrijven en (B) aan uw bank om doorlopend een bedrag van uw rekening af te schrijven overeenkomstig de opdracht van {NAAM VAN INCASSANT}. Als u het niet eens bent met deze afschrijving kunt u deze laten terugboeken. Neem hiervoor binnen 8 weken na afschrijving contact opmet uw bank. Vraag uw bank naar de voorwaarden.
  • You need to collect the date of the consent, the IP address and the user agent of the browser of the customer.
All this information will then be provided in the call to the perform the SDD transfer.

It is also possible to transfer mandates silently with no required customer interaction with Digiteal. Digiteal can authorize SDD withdrawals of maximum 200€/month per debtor with a simplified KYC/KYB process. The 200€/month is a maximum that can be granted after a careful review of Digiteal's risk department. The risk is evaluated based on the activity of the company requesting it and the associated risks. This is not a global possibility and it is granted case-per-case. There are two ways to enable this. Both require that this mandatory data be provided: first name, last name, postal address, email address (+ company name and company identification number for companies) and that the maximum amount is under or equal to the limit assigned to your company. Then, you should also provide one of the following

  • birth date, birth place and consent confirmation
  • signed mandate document (type = BANK_MANDATE)
When these conditions are met, you will receive a confirmation that the mandate has been activated through the AUTOPAY_CONFIGURATION_CREATED webhook. To enable this, please send an email to compliance@digiteal.eu so that the risk department can evaluate if this service can be granted to your company.

AIS registration process

As an AIS integrator, when you wish to pre-register a customer to retrieve his bank statements, here is the proposed flow:

  • The AIS integrator makes a call to Digiteal to pre-register the customers. He adds a return URL to this call. The more information you can provide the better at this step. Everything that you will provide will not need to be asked to the customer during Digiteal's KYC/KYB process. For a simple access to the bank statements, minimal information is require (first name, last name, date of birth and email address for a person, VAT number, company name and email address for a company).
  • Digiteal sends an email to the customer with a link to choose their password. The email says that they are invited to Digiteal by the company mentionned in the Customer Info section of the pre-registration call.
  • The AIS integrator makes a call to 01Financials to request access to the customer's bank account. They also provide a return URL to 01Financials.
  • 01Financials checks that the customers are known in Digiteal (they are since we got the pre-registration call) and they return a URL to redirect the customer to this page to link their bank accounts.
  • The customer clicks on the link in the Digiteal email, chooses his password.
  • The customer is redirected to Digiteal if the integrator did not provide a redirect link and to the redirect link if it was provided. In this case, the redirection is to the integrators website that redirects to the 01Financials installation page.
  • The customer links his accounts in 01Financials to the installation provided by the integrator.
  • The customer chooses to return to the integrator and the return URL provided to 01Financials is used.
  • The customer is back in the integrator portal/app and he can continue his flow with the linked bank accounts.

See Registration webhooks

E-invoices overview

On your right you see a schematical overview of the process for creating and paying an e-invoice using Digiteal. In this overview the focus is mainly on the creation. The payment is discussed more indepth in the handling a Payment section. Here it is mentioned as a single step in the process.

The whole flow is started when your system prepares the invoice for a specific customer. It has to call the Digiteal platform providing the necessary invoice data and customer information. These informations are stored and a payment image is generated. The images include the QR code following the guidelines of the EPC. More information about the EPC standard here : European Payment Councils

The output of the service will contain a payment image, the identifier of the invoice in Digiteal and the preferred delivery method of the client. If the client is already known and he/she prefers to receive his/her invoices in the Digiteal platform then a notification will be sent.

If the client has indicated he uses the Digiteal platform to receive his mails you can upload your custom invoice document. This document will be stored and kept for 10 years. The client will be able to consult this document at anytime and on multiple supported platforms (web, mobile).

If the client is unknown or hasn't indicated his preference you should use your other distribution modes to send the invoice containing the QR.

When the client receives the push notification he can consult the invoice details and proceed to the payment using the one-click pay. More information on payments through the Digiteal platform please consult the Payment section

Each invoice generation is logged to detect malpractice and prevent DOS attacks.

API invoice details provides an overview of the provided services and gives a detailed description of the input and output parameters.

Create/Update invoice.

In order to create an invoice, Digiteal needs to receive information about

A invoice can have 2 statuses :

  • DRAFT
  • PUBLISHED
When not specified the default value is PUBLISHED which allows no updates.

The platform provides the possibility to introduce an invoice with a DRAFT status which can be updated later on. Users will not be notified for these invoices.

Issuer

When calling the service, the authentication parameters (username and password) have to be provided (HTTP Basic authentication mechanism). You do not have to specify any identifier related to your company in the input parameters. Based on the authentication parameters the Digiteal platform knows the company that sent the request.

In case of 2-way ssl authentification, the identification will be done using the public certificate sent during the ssl handshake.

For more information on how to register on the Digiteal platform please consult the Registration section. Upon registration, you will be authenticated by default using the username and password you chose.

If you prefer using SSL 2-way authentication please contact technical support

Bank Account

A bank account is identified by its IBAN code. (BIC is not a required field)

Important: The platform allows a company to define multiple bank accounts. Whenever a company has more than one confirmed bank accounts and no default is set in Digiteal), this parameter becomes mandatory. Otherwise our platform will not know on which bank account this invoice is supposed to be paid.
Defining a default bank account in Digiteal

Log on to the application, go to 'my profile' and select the bank account tab.

If multiple bank accounts are registered then you are able to switch or define a default one by clicking on the “set as default button”. If there is only 1 bank account defined, it will be considered as the default one.

Customer

The invoice will be linked to a customer. A customer can be identified by:

  • The internal identifier in your system
  • His email address

Important:
Providing customer information can be done by 2 different ways:

  • an internal client id is provided:
    If the internal client id is provided a customer will be stored in our system. Every new invoice request generated with this client id included will be linked. The end user will not be able to access the invoice on the Digiteal platform yet. In that case, Digiteal cannot be used to present the invoice yet. If the issuer calls the service later on using the same client id AND the email address the link will be created between the client id and email address thus allowing the end user to access his invoice.
  • an internal client id and email address are provided:
    Providing the internal client id and the email address allows our system to notify the end user. The end user will be able to consult the invoice in Digiteal.

Other

For a more detailed view on the input parameters of the invoice creation requests please have a look at the API details

Our system allows you to add your own internal identifier to the invoice. Later on, you can use your own internal identifier to link documents to the generated invoice.

Error-codes

200 OK

the invoice is created. The response will contain the image in the body. The uuid, deliveryMethod and debtorId are present in the headers.

400

BANK_ACCOUNT_NOT_FOUND :
provided information does not match any of your bank accounts in our system.

400

BANK_ACCOUNT_NOT_PROVIDED :
typically when you forget to send us the BIC and IBAN and have more than one account. The system does not know the one that should be used.

400

CUSTOMER_INFORMATION_MISSING :
mandatory fields are missing. The mandatory field are indicated: ex: Missing fields for the customer creation. [customerInternalId]

400

INVOICE_INFORMATION_MISSING :
mandatory fields for the invoice request are missing.

400

INVOICE_PUBLISHED :
Invoices that are flagged as PUBLISHED cannot be updated.

400

CONTENT_MISSING :
There was no input present in the request.

400

INVALID_FORMAT :
The specified format is incorrect

400

INVALID_PURPOSE :
The purpose is not ISO compliant

401

UNAUTHORIZED_ACCES :
there were no or incorrect credentials provided

403

ISSUER_CANNOT_EMIT :
is thrown when your profile is not yet activated or invalid.

415

UNSUPPORTED_MEDIA :
The service is called using an unsupported media type. Only JSON is supported when performing a POST.

500

GENERAL :
An internal server error occured. Contact support with information concerning your error (date, time, issuer) to know more about this particular issue.

Invoice Documents

This service is used to attach a document (PDF, XML, RTF,...) to an invoice or a credit note. For example, this document can be a bill but it can also be some energy usage summary or the details of a telephone bill.

This documents should only be attached if the customer choose to receive his invoice/credit note in Digiteal (aka he did an optin). You know that he did an optin by checking if deliveryMethod = S2P in the header of the response to the creation of the invoice / credit note.

Multiple documents can be attached to one invoice/credit note. A document cannot be sent if it is not related to an existing invoice / credit note. Only the emitter of an invoice and his integrator can attach documents to it.

There are two services to send a document. The first one uses the UUID of the invoice/credit note as returned when the invoice / credit note was sent and the second one relies on the issuer's internal identifier.

Error codes

200 OK

An empty body response is sent. Additional headers are present (uuid of the document that you uploaded).

400

BAD_REQUEST:
Some input field is missing or wrong values were provided.

401

UNAUTHORIZED_ACCES:
there were no or incorrect credentials provided

415

UNSUPPORTED_MEDIA:
The uploaded document has an unsupported media type. The service only accepts PDF files.

Credit Notes

This service is used to send a credit note linked to an invoice. For example, this credit note can be for 20 € out of a 100€ invoice.

Error codes

200 OK

An empty body response is sent. Additional headers are present (uuid of the document that you uploaded).

400

BAD_REQUEST:
Some input field is missing or wrong values were provided.

401

UNAUTHORIZED_ACCES:
there were no or incorrect credentials provided

415

UNSUPPORTED_MEDIA:
The uploaded document has an unsupported media type. The service only accepts PDF files.

Force Optin

This service is used to force an optin to Digiteal for a specific customer. The necessary parameters are:

  • the VAT number of the company issuing the invoices
  • the customer internal identifier
  • the email address of the customer

Error codes

200 OK

An empty body response is sent in case of success.

400

BAD_REQUEST:
Some input field is missing or wrong values were provided. The error message will describe which values are incorrect.

401

UNAUTHORIZED_ACCES:
There were no or incorrect credentials provided.

415

UNSUPPORTED_MEDIA:
The uploaded document has an unsupported media type. The service only accepts PDF files.

See Invoice webhooks

See Customer webhooks

Peppol Access Point

The documentation for PEPPOL has been moved here.

Invoicing API details

Invoices API details provides an overview of the provided e-invoicing services and gives a detailed description of the input and output parameters.

Interactive Payments

The Digiteal platform not only allows the end user (your clients) to pay their invoices, it also allows you to integrate the interactive payment solution with your own software. Our platform provides 2 parts necessary to create and complete an interactive payment flow.

  • a service to create a payment request hosted and implemented by Digiteal
  • an api interface to receive payment notifications hosted and implemented by you

Besides the interactive payment (user input necessary to finalize the payment) our platform allows the end users to configure automatic payments (payments executed automatically upon receiving an invoice). In this documentation, this functionality is described as the autopayment service.

You can try it out using Digiteal's interactive payment demo application. This demo is linked to Digiteal's test environment so no actual payments will take place there.

API for Interactive payments

This service will be called by the Digiteal platform to notify the requester that we received a confirmation to execute a payment request. The unique payment id generated during the payment request creation will be provided as input. This allows the requester’s system to link the corresponding payment request on his side. If the service of the requester is unreachable the digiteal platform will retry later on.

QR Code generation

To generate a QR code anonymously, you can do it manually through the QR generator and you can use this base URL to generate them dynamically: https://app.digiteal.eu/api/v1/image-request/slip-image-anonymous (example: https://app.digiteal.eu/api/v1/image-request/slip-image-anonymous?iban=BE72000000001616&billerName=Red%20Cross%20of%20Belgium&amount=1&remittanceInfo=Urgency%20fund&format=qr&language=en). This method is great to showcase but the QR code that is generated can only be used by the mobile banking apps of bank that support the EPC QR code

To enable the payment by QR code for customers from whatever bank in the EU, you can use Digiteal's registered QR code generator. It will still generate a standard EPC QR code but it will also enable the payment from whatever bank in the EU through Digiteal. Here is the procedure to use Digiteal's registered QR code generator (must be done by someone having the signature right of Belfius or through a delegation of power):

  • Create your company account on https://app.digiteal.eu
  • Go through the KYC and pick a "Start" account (cost: 65€) if you do it on your own or a "Go" account (cost: 365€) if you want support.
  • Add the various bank accounts on which you will want to collect
  • Generate the QR code as described here above with the QR generator
  • (optional) if you want, you can also add a payment button so that they can directly pay without going through the QR, for example if they only have a desktop or if they are reaching your donation page on their mobile phone. See the pay button documentation (even easier to integrate through two lines of HTML that you can use on you website but also in an SMS or an email)

The QR generator can interpret the parameters to be prefilled. Here are the various parameters you can use:

  • creditorName: The name of the creditor
  • bic: The BIC of the creditor bank account.
  • iban: The IBAN of the creditor bank account.
  • amount: The amount of the payment. If not provided or set to 0, the customer will be requested to fill in the amount. This can be used for donations to charity for example.
  • creditorReference: The structured reference used to match the payment. This is also called the structured communication in Belgium. Both BBA (Belgium) and ISO (International) types are supported. It can be left empty if the remittanceInfo is defined.
  • remittanceInfo: An unstructured code that is used as communication in the payment. This information is only used if there is no creditorReference. It can be left empty if the creditorReference is defined.
  • email: The email of the person generating the QR code.
  • purpose: The purpose 4 letter code based on the ISO 20022 standard.
  • purposeName: The purpose name based on the ISO 20022 standard.
  • info: The information that should be displayed by the bank based on the EPC guidelines (more info: http://goo.gl/S7LTri). The default value is https://www.scan2pay.info.
  • dueDate: The date before which the payment must be performed. The payment slip will display this date as memo-date. The expected format is YYYY-MM-DD.
  • language: The language in which to display the payment slip. The supported values are en, fr, nl, de. The default value is 'en'.
  • format: Format of the image you want to receive. The supported values are QR, QR_BE, QR_NL, QR_TEXT, QR_URL, PAYMENT_SLIP, PAYMENT_SLIP_WITH_BANNER, BANNER, BANNER2, BANNER3, BANNER4, BANNER5, BANNER6 and NONE. The default value is QR.
  • paymentInternalId: Your payment identifier that will be provided back to you when Digiteal will notify you through a webhook that this payment has been initiated.

Here are some sample renderings from the QR generator with the default resolution (minimum width is 250px):

  • Payment slip (1622 x 770) :
  • QR (800 x 800):
  • QR_BE for a company not registered in Digiteal (800 x 600) :
  • QR_BE for a company registered in Digiteal (800 x 600) :
  • QR_NL for a company not registered in Digiteal (800 x 600) :
  • QR_NL for a company registered in Digiteal (800 x 600) :
  • QR_URL (600 x 600) :
  • QR_TEXT:

    BCD
    001
    1
    SCT
    BPOTBEB1
    Red Cross
    BE72000000001616
    EUR1
    CHAR

    Urgency fund
    Sample EPC QR Code

  • BANNER (1622 x 446):
  • BANNER2 - text can be modified based on A/B testing to improve conversion, the QR code is an EPC QR code (1622 x 446):
  • BANNER3 - text can be modified based on A/B testing to improve conversion, the QR code contains the payment URL (1622 x 446):
  • BANNER4 - once the payment solution presented in Banner3 is not new anymore, the QR code contains the payment URL (1622 x 446):
  • BANNER5 - small version of the banner including the Digiteal logo, the QR code contains the payment URL (541 x 301):
  • BANNER6 - small version of the banner without the Digiteal logo, the QR code contains the payment URL (541 x 301):
  • PAYMENT_SLIP_WITH_BANNER (1622 x 770):

Sample QR Generator URL with all parameters set (except remittanceInfo)
https://app.digiteal.eu/#/qr-generator?creditorName=Les%20amis%20de%20Demoucelle%20Parkinson%20Charity&bic=BPOTBEB1&iban=BE10000000000404&amount=12.34&creditorReference=014134000443&email=support@digiteal.eu&purpose=CHAR&purposeName=Charity&info=https:%2F%2Fwww.scan2pay.info&dueDate=2030-12-31&language=en&format=PAYMENT_SLIP_WITH_BANNER

See Payment webhooks

Pay Button

Pay Button intro

The main goal of the pay button is to provide an easy to integrate payment solutions that allows your users to pay by simply clicking on the button. The user will be redirected to a page on which he can choose how to pay. Using the digiteal platform (using his digiteal account) or paying through card payment methods.

You can use this solution by simply adding some basic html to your email template or web platform. It's important for us to keep the integration easy, fast, robust and most certainly secure.

The pay button itself is context aware which means that the appearance will change if the payment is already executed. If you send your client an email containing the pay button and the client finalises the payment by clicking on the pay button, the next time he opens the mail the pay button will indicated that the payment has been fullfilled.

We also provide you the possibility to define your own webhook that will be called whenever the payment has been validated by the client.

Test payment with only Digiteal activated

PAY Digiteal

Test payment with only Bancontact activated

PAY Bancontact

Test payment with Digiteal and Bancontact activated

PAY Digiteal Bancontact

Test payment with all payment methods except Digiteal standard activated

PAY Bancontact IDeal Visa Mastercard

Test payment with all payment methods activated

PAY Digiteal Bancontact IDeal Visa Mastercard

Test payment by forcing a payment method for a company with all payment methods activated

PAY Bancontact

Test showing the Bancontact QR for a company with all payment methods activated

PAY Bancontact QR Code

Test payment with all payment methods activated when the user can choose the amount in a given range

PAY Digiteal Bancontact IDeal Visa Mastercard

To test the card payment methods, you can use the following credentials.

Pay button generation

GET /api/v1/payment-request/pay-button

The response of the url can be 4 different SVG/PNG images:

  • Payment has not been paid :
  • Payment has been paid :
  • Payment execution is scheduled for a certain date :
  • The platform is unavailable :a message will be shown explaining that the payment is currently unavailable

There are 3 types of payment buttons:

  • Single payment request
  • Invoice payment
  • Contribution to a trusted payment

Single payment request parameters

requesterVAT

the VAT number of your company for which you want to initiate a payment.

iban

The IBAN where our system will transfer the money to. If invoiceUUID or trustedPaymentUUID are set, this IBAN will not be considered. In other cases, the default bank account of the creditor will be used. You can override this by defining the target IBAN here. Digiteal performs a validation to check if the iban is linked to the creditor's profile.

amountInCents

The amount of the payment expressed in cents without comma. When this amount is not provided or set to 0 and if no invoiceUUID/trustedPaymentUUID was provided, the customer will be requested to fill in the amount he wants to pay. This is useful for donations to charity for example. When the customer has the choice of how much he will pay, you can further define the range through the minAmountInCents, maxAmountInCents and suggestedAmountInCents.

minAmountInCents

When the amountInCents is not provided or set to 0, this is the minimum amount in cents that the customer will be able to pay. We advise setting this value to avoid risking receiving payments of 0,01 €.

maxAmountInCents

When the amountInCents is not provided or set to 0, this is the maximum amount in cents that the customer will be able to pay.

suggestedAmountInCents

When the amountInCents is not provided or set to 0, this is the amount in cents that will be pre-filled. The customer will be able to change this amount in the boundaries set by minAmountInCents and maxAmountInCents. When no value is given to the suggestedAmountInCents, the customer will need to type in the amount of their choosing to proceed to payment.

paymentInternalId

Your payment identifier that will be provided back to you when Digiteal will notify you through a webhook that this payment has been initiated. This parameter will also be used to check if the payment was not already paid through Digiteal when multiple is false.

multiple

True if you want to accept multiple payments with this description (ex: donate to charity, request a 20€ payment from all the recipients). Default value is false.

Invoice payment parameters

invoiceUUID

It is possible to link a payment button to an invoice. If you use this parameter it's no longer required to provide the amountInCents, the iban and the creditorReference or remittanceInfo

Contribution to trusted payment parameters

trustedPaymentUUID

It is possible to link a payment button to a trusted payment. If you use this parameter it's no longer required to provide the iban and the creditorReference or remittanceInfo. The amountInCents is mandatory for a time-based trusted payment but can be omitted for confirmation-based trusted payments. It will default to the full amount of the confirmation-based trusted payment.

amountInCents

The amount of the payment expressed in cents without comma. When this amount is not provided or set to 0 and if this linked to a time-based trusted payment, the customer will be requested to fill in the amount he wants to pay. This is useful for donations to charity and crowd-funding for example.

multiple

True if you want to accept multiple payments with this description (ex: donate to charity, request a 20€ payment from all the recipients). Default value is false.

Common parameters

language

Defines the language in which the button has to be generated, supported values are NL,FR,EN. Default value is EN.

type

Determines the format of the image to generate, supported values are PNG and SVG (the default value in PNG)

creditorReference

The structured creditor reference of the payment (either this one or the remittanceInfo is required!) (only required if invoiceUUID and trustedPaymentUUID are not used)

remittanceInfo

The unstructured remittance info of the payment (either this one or the creditorReference is required!) (only required if invoiceUUID and trustedPaymentUUID are not used). The first name and last name of the debtor will be added to this remittanceInfo.

Pay button Example

<img src="https://app.digiteal.eu/api/v1/payment-request/pay-button?requesterVAT=BE0406729809&amountInCents=4000&iban=BE72000000001616&language=en&remittanceInfo=Urgency%20Fund">
                  

Pay button in emails

Support for disabled image rendering

Many email clients do not display images by default. In order to still have a correct rendering in those cases, please add some styling like in the example on the left.

A specific CSS class is applied on the link and the image:

  • The payButtonLink enables the vertical alignment of the alt text.
  • The payButtonImage sets the background color and border-radius to make it look like a button and the font attributes to mimic the image that would be rendered by Digiteal.
Of course, do not forget to also set the alt text on the image and to translate it in the user's language (PAY, BETAAL, PAYER,...).

You can use the same styling everywhere, not just in emails but the restricted image rendering mainly happens in emails.

The disadvantage when the image is not displayed is that the customer does not get a feedback on the status of the payment. It might already be paid and he will not know about it just by looking at the button. However, when he will click on the payment link, if it was already paid through Digiteal, it will be visible for the customer.

Payment button styling for email
<style>
.payButtonLink {
  outline: none;
  line-height: 42px;
}
.payButtonImage {
  font-size: 17px;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
  background-color: #0cb4bf;
  color: #ffffff;
  height: 38px;
  min-width: 120px;
  text-align: center;
  border-radius: 5px
}
</style>
<a class="payButtonLink" target="_blank" href="...">
  <img class="payButtonImage" alt="PAY" src="..."/>
</a>
Rendering when the image is not displayed
PAY

Pay button execution

GET /api/v1/payment-request/pay-button/execute

The url that has to be called to execute the payment. The result can have 3 different outcomes:

  • Payment has not yet been paid : the user will see the pre-filled details of the payment, enter his pincode and confirm the payment
  • The payment has already been paid : a page with reduced information will be shown to indicate the payment is already executed
  • Unavailable page : something went wrong during the processing and an unavailability page is shown.

The URL can be quite long because of the required parameters. If you wish a shorter version of this URL for example to send it in an SMS, you can use the ShortLink API.

Single payment parameters:

requesterVAT

the VAT number of your company for which you want to initiate a payment.

invoiceUUID

It is possible to link a payment button to an invoice. If you use this parameter it's no longer required to provide the requesterVAT, amountInCents, the iban and the creditorReference or remittanceInfo

trustedPaymentUUID

It is possible to link a payment button to a trusted payment. If you use this parameter it's no longer required to provide the iban and the creditorReference or remittanceInfo. The amountInCents is mandatory for a time-based trusted payment but can be omitted for confirmation-based trusted payments. It will default to the full amount of the confirmation-based trusted payment.

iban

The IBAN where our system will transfer the money to. If invoiceUUID or trustedPaymentUUID are set, this IBAN will not be considered. In other cases, the default bank account of the creditor will be used. You can override this by defining the target IBAN here. Digiteal performs a validation to check if the iban is linked to the creditor's profile.

amountInCents

The amount of the payment expressed in cents without comma. When this amount is not provided or set to 0 and if no invoiceUUID was provided, the customer will be requested to fill in the amount he wants to pay. This is useful for donations to charity for example.

paymentInternalId

Your payment identifier that will be provided back to you when Digiteal will notify you through a webhook that this payment has been initiated. This parameter will also be used to check if the payment was not already paid through Digiteal when multiple is false.

Invoice payment parameters:

invoiceUUID

It is possible to link a payment button to an invoice. If you use this parameter it's no longer required to provide the requesterVAT, amountInCents, the iban and the creditorReference or remittanceInfo

Contribution to trusted payment parameters:

trustedPaymentUUID

It is possible to link a payment button to a trusted payment. If you use this parameter it's no longer required to provide the iban and the creditorReference or remittanceInfo. The amountInCents is mandatory for a time-based trusted payment but can be omitted for confirmation-based trusted payments. It will default to the full amount of the confirmation-based trusted payment.

amountInCents

The amount of the payment expressed in cents without comma. When this amount is not provided or set to 0 and if no invoiceUUID was provided, the customer will be requested to fill in the amount he wants to pay. This is useful for donations to charity for example.

Common parameters:

language

Defines the language in which the button has to be generated, supported values are NL,FR,EN. Default value is EN.

creditorReference

The structured creditor reference of the payment (either this one or the remittanceInfo is required!) (only required if invoiceUUID is not used)

remittanceInfo

The unstructured remittance info of the payment (either this one or the creditorReference is required!) (only required if invoiceUUID is not used). The first name and last name of the debtor will be added to this remittanceInfo.

multiple

True if you want to accept multiple payments with this description (ex: donate to charity, request a 20€ payment from all the recipients). Default value is false.

direct

True if you want the customer to go through a bank confirmation and reduce the payment delay to 1 day. Extra charges apply for activating this. Default value is false.

confirmationURL

The url where the user will be redirected once he will click to go back to the origin website after a successful payment. If no URL is provided, he will go back to the invoice list in Digiteal.

errorURL

The url where the user will be redirected once he will click to go back to the origin website after an error occured during the payment. If no URL is provided, he will go back to the invoice list in Digiteal.

cancelURL

The url where the user will be redirected once he will click to go back to the origin website after the payment was cancelled. If no URL is provided and no errorURL is provided, he will go back to the invoice list in Digiteal.

paymentMethod

The name of the payment method (must be part of the activated payment method of the creditor that you wish to force for this payment. Values are:

  • BANCONTACT
  • CARTE_BLEUE
  • PIS_STANDARD (PSD2 payment initiation directly through the bank)
  • DIGITEAL_STANDARD (SDD)
  • IDEAL
  • MAESTRO
  • MASTERCARD
  • PAYCONIQ
  • VISA

If this parameter is not set, the customer will have the choice between all the payment methods activated by the creditor.

qrCode

True if you want the Bancontact QR code to be displayed (must be used in conjunction with paymentMethod=BANCONTACT, default is false).

Pay button Example

          <a href="https://app.digiteal.eu/api/v1/payment-request/pay-button/execute?requesterVAT=BE0406729809&amountInCents=4000&iban=BE72000000001616&language=en&remittanceInfo=Urgency%20Fund" style="outline: none;">
            <img src="https://app.digiteal.eu/api/v1/payment-request/pay-button?requesterVAT=BE0406729809&amountInCents=4000&iban=BE72000000001616&language=en&remittanceInfo=Urgency%20Fund"/>
            </a>
              
Payment screen

B2B Creditor Button

B2B Creditor button

The B2B Creditor button allows the debtor to pay a creditor company using the same simple solution as the payment button. This solution allows you to pay a specific creditor even if the creditor company is not registered in Digiteal yet. When an invoice is received, the creditor button can be built using the metadata of the invoice.

In case of a KNOWN creditor, (=registered in Digiteal):

  1. Pay the amount for the received invoice by clicking on the b2b creditor button and validating with the pincode
  2. The money is transferred to the Digiteal Account.
  3. Once received on the Digiteal Account, the money is transferred to the Creditor Account and the debtor is notified (through mail or webhook)

In case of an UNKNOWN creditor,(= not registered in Digiteal):

  1. Pay the amount for the received invoice by clicking on the b2b creditor button.
  2. Once the payment has been confirmed by the pincode, the creditor company will be contacted through mail.
    The b2b creditor button applies the same interaction as the pay button and indicates that the invoice is paid but remains unconfirmed.
    The amount received by Digiteal will be kept on the account of Digiteal.
  3. When the company registers on Digiteal and activates his bank account (=validating that he is the owner of the creditor bank account), the money will be transferred.
  4. When the money is sent out, the debtor company will receive a notification and the button will also change appearance.
  5. If the creditor company does not register within 5 business days, the money will be reimbursed to the debtor.

Schematic overview of b2b creditor payment
B2B creditor button (still to pay)
B2B creditor button (payment executed but creditor not yet registered)
B2B creditor button (payment executed and creditor registered + activated account)

B2B Creditor button generation

GET /api/v1/payment-request/b2b-pay-button

The response of the url can be 4 different SVG images

  • Payment has not been paid :
  • Payment has been paid but not unconfirmed :
  • Payment has been paid :
  • The platform is unavailable: a message will be shown explaining that the payment is currently unavailable

debtorVAT

the VAT number of the debtor company that will pay the invoice

creditorVAT

the VAT number of the creditor company you want to pay.

creditorName

Provide the company name of the creditor company. This name will be automatically filled in when the company goes to the registration page.

creditorIBAN

The creditor iban that is present on the invoice.

creditorEmail

the email address of the creditor.

amountInCents

The amount of the payment expressed in cents without comma.

language

Defines the language in which the button has to be generated, supported values are NL,FR,EN

creditorReference

the structured creditor reference of the payment (either this one or the remittanceInfo is required!)

remittanceInfo

the unstructured remittance info of the payment (either this one or the creditorReference is required!)

confirmationURL

Once the payment is confirmed, the debtor will be redirected to this url.

errorURL

If an error occured during the payment, the debtor will be redirected to this url.

cancelURL

If the payment was cancelled, the debtor will be redirected to this url

B2B creditor button Example

<a id="execute" rel="nofollow" href="https://test.digiteal.eu/api/v1/payment-request/b2b-pay-button/execute?creditorVAT=BE555554325&creditorName=CompanyB&debtorVAT=BE0897227828&remittanceInfo=18124&creditorEmail=companyB@yopmail.com&creditorIBAN=BE68130191571783&amountInCents=52109&language=EN">
 <img id="image" src="https://test.digiteal.eu/api/v1/payment-request/b2b-pay-button?creditorVAT=BE555554325&creditorName=CompanyB&debtorVAT=BE0897227828&remittanceInfo=18124&creditorEmail=companyB@yopmail.com&creditorIBAN=BE68130191571783&amountInCents=52109&language=EN"/></a>
              

B2B Creditor button execute

GET /api/v1/payment-request/b2b-pay-button/execute

calling this url will result in a redirect to the Digiteal payment platform.

debtorVAT

the VAT number of the debtor company that will pay the invoice

creditorVAT

the VAT number of the creditor company you want to pay.

creditorName

Provide the company name of the creditor company. This name will be automatically filled in when the company goes to the registration page.

creditorIBAN

The creditor iban that is present on the invoice.

creditorEmail

the email address of the creditor.

amountInCents

The amount of the payment expressed in cents without comma.

language

Defines the language in which the button has to be generated, supported values are NL,FR,EN

creditorReference

the structured creditorReference of the payment (either this one or the remittanceInfo is required!)

remittanceInfo

the unstructured remittanceInfo of the payment (either this one or the creditorReference is required!)

confirmationURL

Once the payment is confirmed, the debtor will be redirected to this url.

errorURL

If an error occurred during the payment, the debtor will be redirected to this url.

cancelURL

If the payment was cancelled, the debtor will be redirected to this url.

B2B creditor button Example

<a id="execute" rel="nofollow" href="https://test.digiteal.eu/api/v1/payment-request/b2b-pay-button/execute?creditorVAT=BE555554325&creditorName=CompanyB&debtorVAT=BE0897227828&remittanceInfo=18124&creditorEmail=companyB@yopmail.com&creditorIBAN=BE68130191571783&amountInCents=52109&language=EN">
 <img id="image" src="https://test.digiteal.eu/api/v1/payment-request/b2b-pay-button?creditorVAT=BE555554325&creditorName=CompanyB&debtorVAT=BE0897227828&remittanceInfo=18124&creditorEmail=companyB@yopmail.com&creditorIBAN=BE68130191571783&amountInCents=52109&language=EN"></a>
              

Automatic payments

AutoPay setup

The Digiteal Platform allows a user to setup an auto payment configuration for his payment requests for a specific requester. By creating an auto payment configuration, the user allows the requester to automatically launch the payment request on the Digiteal platform.

AutoPay request

As a requestor, you can submit a payment request to the AutoPay service to get paid automatically (with no mandatory user intervention).

400

INCORRECT_CONTENT:
only correct json is supported

400

MISSING_INPUT_FIELDS:
The 'name of the missing field' is provided in the error message.

400

UNSUPPORTED_REQUEST_METHOD:
This service only accepts POST.

401

UNAUTHORIZED_ACCES:
There were no or incorrect credentials provided.

415

UNSUPPORTED_MEDIA:
POST only consumes application/json

415

FORBIDDEN:
Not allowed to perform this action.

See Auto Payment webhooks

Payment API details

Payment API details provides an overview of the provided services and gives a detailed description of the input and output parameters.

Payment Requester API provides an overview of the services that you need to implement in order to support interactive payments. This documentation contains a detailed descriptions of the input and output parameters.

Trusted payment introduction

Whenever you require a payment that should only be executed when a certain condition is met, you can use the Digiteal trusted payment solution. The transfer will take place only if the condition is met. If it isn't, the payment will be reimbursed in full to the original debtor after the transfer expiration date. Two conditions can be used:

  • amount: If the total amount of the payments linked to this transfer has reached the maximum amount associated with the transfer, it will be transferred directly. Three days after the end of the transfer expiry, if the minimal amount of the transfer has been reached, it will also be transferred.
  • third party confirmation: The trusted third party that created the transfer can validate or invalidate it. If it has been validated, the transfer will be executed immediately. If it has been validated, the transfer will be reimbursed immediately.

The typical trusted payment follows these steps:

  • Creation: The trusted payment integrator creates the transfer either through a call to the API or using the Digiteal platform UI. The parameters of the payment are the release condition, the minimum and maximum amount of the transfer, the end date, the creditor and his account. The creditor but have set the integrator as trusted payment integrator. The outcome of this creation step is a configured trusted payment with a defined creditor reference.
  • Incoming payment(s): The integrator communicates the creditor references and requests the debtor(s) to transfer the money to the Digiteal trusted account (BIC: GKCCBEBB, IBAN: BE40 0689 0629 4063) using a usual bank transfer (SEPA Credit Transfer or SCT) with the provided creditor reference.
  • Validation: The condition to execute the payment is met either by a call to the API for the paymens requiring a third party confirmation or if the maximum amount is met. Another condition to executing the payment is if the minimum amount is reached at the latest 3 days after the end of the payment end date.
  • Payment: The payment is executed through a SEPA Credit Transfer (SCT) from Digiteal's trusted account to the creditor.

Trusted payment API details

Trusted payment API details provides an overview of the provided trusted payment services and gives a detailed description of the input and output parameters.

01Financials

When you need to automatically retrieve bank statements, we invite you to use 01Financials. 01F allows non-regulated companies to get access to the bank statements if the bank account holder agrees.

You can create your account with your Digiteal credendials in TEST and PROD. In PROD, you will be able to directly link it to your real bank account to see your bank statements.

As an integrator, you can find out about how to get access to those bank statements in the 01Financials integration guide. To get inspired, you can also take a look at the open source 01F Sync client. For example, this client enables accountants to do a bulk onboarding of customers that they extracted from their accounting software and retrieve the bank statements of all of them once they gave their explicit consent. If you want to initiate the onboarding from your own software in a seamless manner, the process is explained in the AIS preregistration.

Rest API for 01Financials:
TEST API
PROD API

Swagger

To help you get started, here are the Swagger API description files in JSON. You will be able to import these in Postman for example in order to test out the API before implementing your integration.