POS is the system used to issue the invoice to the customer.
Fiscal service is the system handling fiscal obligations as part or on behalf of the respective tax authority.


Message Description

Message from Fiscal Service to be received at the POS

The message received must hold data from the tax authority (or a system acting as deputy) which is needed to fulfil fiscalization requirements (codes to assign to an invoice).

Basic message structure description

Header data

  • CorrelationID of message exchange
  • Timestamp of sending
  • Version of message type

Process data

  • Success flag
  • Error list
  • Warning list

Identification data

  • Hotel ID
  • Provider ID
  • Invoice ID from provider

Invoice and fiscal data

  • Invoice code
  • Fiscal code (number range)
  • Fiscal closure info (number range to be combined w/ fiscal code)
  • Fiscal signature data (cryptographically checksums)
    • Signature label
    • Signature data
    • Signature type
    • Signature format
  • Notes (Label)



Message to be received at the POS (IO_InvoiceFiscalizeRS)

Example w/ FiscalCode and ClosingID only

    <IO_InvoiceFiscalizeRS xmlns="http://protel.io/soap" CorrelationID="INV#2100172#CLOSE#000081#1581950440986#5C02" TimeStamp="2020-02-17T15:40:24.1986279+01:00">
      <Success>true</Success>      
      <ExternalFiscalDate>2020-02-17T15:40:37Z</ExternalFiscalDate>
      <ExternalFiscalCode>7d280d03-ad80-4e4e-9c03-c64bd7cf93ce</ExternalFiscalCode>
      <ExternalFiscalClosingID>deafcef0cc6ef843022c048e9521af37</ExternalFiscalClosingID>
      <ExternalFiscalNotes />
    </IO_InvoiceFiscalizeRS>


Example w/ FiscalCode and multiple Signature elements

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<p:IO_InvoiceFiscalizeRS xmlns:p="http://protel.io/soap" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:htng="http://htng.org/2014B" CorrelationID="INV#2100172#CLOSE#000001#1582133852649#C089" Version="1.0" TimeStamp="2020-02-19T17:37:32Z">
    <p:Success>true</p:Success>
    <p:Warnings>
        <p:Result Code="1" ReferenceCode="1279">
            <p:Message>Invoice in request not balanced.</p:Message>
        </p:Result>
    </p:Warnings>
    <p:UniqueID Type="Invoice" ID="1279" ID_Context="io.protel.air"/>
    <p:UniqueID Type="Hotel" ID="2878" ID_Context="io.protel.air"/>
    <p:UniqueID Type="Tenant" ID="ROFISCPROV" ID_Context="io.protel.air"/>
    <p:ExternalTerminal TerminalName="ro.bit-soft.fiscal-legal">
        <p:URL>https://pairfiscal.bit-soft.ro/protel/</p:URL>
        <p:Location>BitsoftHQ</p:Location>
    </p:ExternalTerminal>
    <p:ExternalFiscalDate>2020-02-19T18:37:32+01:00</p:ExternalFiscalDate>
    <p:ExternalFiscalCode>ft3E1</p:ExternalFiscalCode>
    <p:ExternalFiscalClosingID>993</p:ExternalFiscalClosingID>
    <p:ExternalFiscalNotes>ACK Servicii WEB ANAF</p:ExternalFiscalNotes>
    <p:ExternalFiscalSignatures>
        <p:Signature Type="RO_QRCODE" Format="QR_CODE" Timestamp="2020-02-17T15:40:37Z">>
            <p:Data>7e038d0921f0_8Y5SOPiFXOM=_JsQ3VlmQKNcTmM3D8SQ4SDPDhoIzNICorzuUFZNOqRJ2YcSajkMaVgpafByhB3l2yt7pdHin89A8KYtyQCQ44A==</p:Data>
            <p:Label>QR-Code</p:Label>
        </p:Signature>
        <p:Signature Type="RO_HASH" Format="TEXT_CODE" Timestamp="2020-02-17T15:40:37Z">>
            <p:Data>ft3E0#992_zRMeYeA=</p:Data>
            <p:Label>Internal</p:Label>
        </p:Signature>
        <p:Signature Type="ZOI_SLOVENIA" Format="IO_SIG_FORMAT_HEX" Timestamp="2020-02-17T15:40:37Z">>
            <p:Data>123456789012345678901234567890AB</p:Data>
            <p:Label>HexZoi</p:Label>
        </p:Signature>
        <p:Signature Type="ZOI_SLOVENIA" Format="IO_SIG_FORMAT_DECIMAL" Timestamp="2020-02-17T15:40:37Z">>
            <p:Data>12345678901234567890123456789045</p:Data>
            <p:Label>DecimalZoi</p:Label>
        </p:Signature>
    </p:ExternalFiscalSignatures>
</p:IO_InvoiceFiscalizeRS>


Example w/ Errors

<p:IO_InvoiceFiscalizeRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:htng="http://htng.org/2014B" xmlns:p="http://protel.io/soap" CorrelationID="f7737c19-0f1d-4220-8f12-60e213e7b6fe" PrimaryLangID="ro" TimeStamp="2023-11-20T09:37:21Z" Version="1.0">
  <p:Errors>
    <p:Error Code="0" ReferenceCode="f7737c19-0f1d-4220-8f12-60e213e7b6fe" ShortText="Process not completed.">
      <p:Message>Could not complete process (Invoice ID: 160836), Reason: Checked out</p:Message>
    </p:Error>
  </p:Errors>
   <p:Warnings>
    <p:Warning Code="0" ReferenceCode="f7737c19-0f1d-4220-8f12-60e213e7b6fe" ShortText="Printing Paper">
      <p:Message>Check printer. Unrecognized paper found.</p:Message>
    </p:Warning>
  </p:Warnings>
  <p:Message>Fiscalization NOT possible. See Errors.</p:Message>
</p:IO_InvoiceFiscalizeRS>



Field description table

 The result message must hold fiscalization information in either ExternalFiscalCode  / ExternalFiscalClosingID  OR   at least one valid ExternalFiscalSignatures/Signature  element.



IO_InvoiceFiscalizeRS

Element countAdditional InformationValid values
see Generic elements for Legal & Fiscal messaging#GenericElements
Mandatory Message headers




IO_InvoiceFiscalizeRS | UniqueID

0..10

see Generic elements for Legal & Fiscal messaging#Businessobjects
Mandatory Reference IDs




IO_InvoiceFiscalizeRS | ExternalFiscalCode

0..1



Text (number) to display on the invoice.
Will be sent in RQ Reference element for void operation

IO_InvoiceFiscalizeRS | ExternalFiscalClosingID

0..1



Text (number) to display on the invoice. 
Will be sent in RQ Reference element for void operation

IO_InvoiceFiscalizeRS | ExternalFiscalDate

0..1



Will be sent in RQ Reference element for void operation

IO_InvoiceFiscalizeRS | FiscalNotes

0..1



Textual information regarding the fiscalization process

IO_InvoiceFiscalizeRS | ExternalFiscalSignatures

0..1Fiscalization result w/ more complex data (e.g. QR codes & signatures)

IO_InvoiceFiscalizeRS | ExternalFiscalSignatures | Signature

0.10

@Type1Type of signature algorithm
@Format1Format of signature created
@Timestamp1ISO timestamp of signature creation

IO_InvoiceFiscalizeRS | FiscalSignatures | Signature | Label

0..1



Description of signature created

IO_InvoiceFiscalizeRS | FiscalSignatures| Signature | Data

0..1



Actual data of signature (Binary data must be Base64 encoded)

IO_InvoiceFiscalizeRS | Invoice

0..1(Optional) Copy of invoice data sent with RQ
see IO_InvoiceFiscalizeRQ message description#Invoice


IO_InvoiceFiscalizeRS | ExternalTerminal

0..1(Optional) Copy of Terminal data send with RQ
see Messages from POS to Fiscal Service#IO_InvoiceFiscalizeRQ/Terminal






  • Keine Stichwörter