NEW V3.15 The payment with the ESR payment slip is very common in Switzerland and is already provided by SecuTix. However, the ESR is intended to be replaced by the new Swiss QR invoice and won't be valid anymore after the 30th of September 2022. From now on, you can migrate to the Swiss QR invoice and benefit from following advantages:
Solution
Documents
Following the TicketBAI regulation, a TBAI identifier and a QR code are displayed at the bottom of the order summary and order receipt. The QR code encodes a URL redirecting to the tax authorities' fiscal system, allowing to check that the order has been properly signed and sent to the fiscal authorities.
In addition to this, each duplicate is clearly marked as such. In case of order summary, a duplicate watermark is displayed.
In case of order receipt, duplicate is printed.
Either an order summary or an order receipt must be generated systematically for each order so that the tax authorities may check the order by scanning the QR code displayed on the document. However, the order is signed independently of the document generation. As a result:
- You can display the order receipt and the order summary. The order will be signed exactly once and both documents will display the same QR code.
- If you forgot to print and hand over a document to the end customer, you can always print it later.
Invoice and file summary
- Invoices shouldn't be created in SecuTix when orders are signed. Indeed, both processes (invoice creation and order signature for TicketBAI) are generating an identifier to be displayed on the document and we want to avoid that a given order gets two different identifiers.
- The file summary cannot display the required QR code because the QR code is related to an order, not to a file that may contain multiple orders. You can still provide file summaries to your customers for information purpose but they can't be used to prove that the order has been digitally signed.
Restricted operations after order closure
The interface to the TicketBAI system (defined by the fiscal authorities) allows mainly to create new orders and to cancel them. Modification is only possible in very specific cases that are listed exhaustively. As a result, in order to be able to send the appropriate information to the fiscal authorities, all actions modifying partially an order, like partial refunds and exchanges, must be avoided. SecuTix helps you in this task by performing following checks:
- The box office doesn't allow neither partial refunds nor exchanges
- The batch to cancel a single performance or product will only refund orders that don't contain any other performance or product
- The on-line self exchange features are disabled
Getting started
Set-up to be performed by the service team
Ask the service team to enable the QR invoice feature. The service team will perform following actions:
- Set the feature flag PRINTING_SWISS_QR_CODE_ON_BVR
- Set the following parameters concerning the QR code in the document parameter section
- Set BVR_BARCODE_POS_X to 68
- Set BVR_BARCODE_POS_Y to 43
- Set BVR_BARCODE_POS_SIZE to 46
Documents
Document type
Create a new document type belonging to document class Summary with ISR. The document must have following characteristics:
Workstation configuration
Check that an ISR printer is already defined for the workstation that will be used to prrint the QR invoices. If it isn't the case, you can declare any A4 printer as an ISR printer as illustrated below.
Order summary
Please add following information to your order summary template:
Invoice number:
{#if($document.order.invoiceNumber)}Invoice number: {$document.order.invoiceNumber}
{#else}Invoice number: Not available
{#end}
Invoice date:
Invoice date: {$document.order.orderCreationDate}
TBAI identifier and QR code:
{#if($document.order.externalIdentifier)}
{$document.order.externalIdentifier}
{#else}TBAI identifier not available
QR code not available
{#end}
A complete example of document template in English and Spanish is provided below
Order receipt
Enable the display of the TicketBAI informations
#set($showKubibai = true)
Display if the document is a duplicate or not:
#if($showKubibai == true)
#display($orderReceipt.documentType, 17, 'LEFT')#if($orderReceipt.solutionVersion.length() > 0) #display($orderReceipt.solutionVersion, 15, 'LEFT')#end
#if($orderReceipt.isDuplicate == true)#set($duplicataStr = "DUPLICATE") #else #set($duplicataStr = 'ORIGINAL') #end
#display("Nb impressions: ", 18, 'LEFT')#display($duplicataStr,12, 'LEFT')
#end
Display TBAI identifier and QR code
#if($showKubibai == true)
#if($orderReceipt.fiscalSignatureRestitutionStr.length() > 7)
#display($orderReceipt.fiscalSignatureRestitutionStr.substring(0, 32), 32, 'LEFT')
#display($orderReceipt.fiscalSignatureRestitutionStr.substring(32, $orderReceipt.fiscalSignatureRestitutionStr.length()), 32, 'LEFT')
#else
#display('TBAI identifier not available', 32, 'LEFT')
#end
#if($orderReceipt.fiscalSignatureRestitution.length() > 0)
<QR>$orderReceipt.fiscalSignatureRestitution|6|CENTER<QR>
#else
#display('QR code not available', 32, 'LEFT')
#end
#end
A complete example of document template in English and Spanish is provided below
New interface
Create a new interface of type external manager and sub-type KUBIBAI plugin
Set the following parameters
Parameter | Value |
---|---|
URL | |
Client API key | Provided by KubiBAI on SecuTix' request |
TBAI Territory id |
● Gipuzkoa: dded8ad1-0574-4ee4-b4f7-36687cba73b |
Certificate password | Provided with the certificate |
CIF | Código de Identificación Fiscal |
New function schedule
The schedule is only needed to check that the information have been stored successfully in TicketBAI and to recall KubiBAI in case of failures.
Schedule the Order recovery function belonging to the interface created previously with following parameters:
- It's recommended to use an automatic schedule, for example once per day
- Enter a date in the Date from field. The date has to be in the recent past. You should update this field from time to time, especially in case of heavy sales.
- You can ignore the File to upload parameter.