Skip to main content

Connection loss

As long as you're connected to SIGN ES, you do not need to worry. In case of connection loss to the Spanish Tax Authority server, SIGN ES implements an availability check of the Verifactu service. The transmission of Invoicing Records will continue automatically when the service connection is restored.

Any downtime or transmission issue detected by fiskaly will be notified through our Status page.

note

We automatically indicate the incident field as Yes if we detect any disconnection issues on our end. SIGN ES API will transmit the XML files as soon as connection to the Tax Authority’s service is restored.

important

The user of the POS system should be notified if there is an internet connection problem or incident that affects transmission to SIGN ES API. Ideally, a message is displayed in the POS indicating this situation.

If you lose connection to us

Even if there's a connection problem, the taxpayer will issue an invoice for the customer, keeping a copy of it.

In case of internet connection problems on the POS system, the Verifactu Regulation contemplates an indication of any problems with the transmission of issued invoices through an incident field in the XML structure created.

In our SIGN ES API, the incident field is part of the annotations when creating a new invoice. As soon as the connectivity issue is solved, the issued invoices must be introduced through the SIGN ES API software in a correlative way and including this incident field.

Please note that under no circumstance can an invoice be issued without it being transmitted to SIGN ES API.

How to generate the offline QR code?

important

As long as fiskaly’s SIGN ES API is available, you must print invoices using the URL provided in the Invoice Creation Response. This procedure shall only be applicable for offline cases.

According to Verifactu regulation, all invoices must contain a Verifactu QR code. In order to generate the QR code for invoices issued offline, we provide you with the following pseudocode snippet that showcases a possible implementation flow:

GET base_url, nif, number, series, date, total_amount
IF series IS NOT EMPTY:
SET series_number = CONCAT series, number
ELSE:
SET series_number = number
SET date_string = DATE_FORMAT date AS "DD-MM-YYYY"
SET url_format = "$1?nif=$2&numserie=$3&fecha=$4&importe=$5"
SET url = FORMAT url_format WITH $1 = base_url, $2 = nif, $3 = series_number, $4 = date_string, $5 = total_amount
SET encoded_url = UTF-8_ENCODE url

The following aspects have to be considered when generating the URL:

  • The URL must keep the order in which the parameters are provided:

    • Base URL

    • NIF of the taxpayer

      • In SIGN ES API, this corresponds to the field Create taxpayer > content > issuer > tax_number .
    • Invoice series and number

      • In SIGN ES API, this corresponds to the fields Create an invoice > content > series and Create an invoice > content > number which are concatenated without spaces nor characters in between. If the invoice has no series, only the number is used.
    • Total amount of the invoice

      • In SIGN ES API, this corresponds to the field Create an invoice > content > full_amount which must be rounded to 2 decimals (E.g. “121.00“ and not “121“).
  • All special characters need to be encoded in UTF-8.

  • There should be no blank spaces within the URL.

warning

This should be thoroughly checked during implementation and using the TEST environment, in order to prevent any mismatches between the URL generated in offline scenarios and the URL that fiskaly generates when the system is back online.

In our FAQ you will find examples to test this implementation.

The QR code printed in offline invoices should follow the same guidelines as those printed in online invoices, including the VERI*FACTU compliant text. For more information, please refer to our guide for Verifactu Invoice Compliance.