eINVOICING
  1. Offline QR Code
eINVOICING
  • eInvoicing Service
    • About Us
    • What We Offer
    • Changelog
    • On Boarding
    • FAQ (EN)
    • FAQ (GR)
    • eInvoicing Service API
      • API Authentication
        • API Key Authentication
          • /Authentication/login
            POST
        • Bearer Token Authentication
          • Authentication Login Bearer Token
            POST
          • Authorization Refresh
            POST
      • API Endpoints
        • API Validations
        • Sending a Document
          • Sending a Document
          • Mandatory and Optional (Best Practice) Fields Descriptions
          • Mobile Notifications
          • IAPR SIGN POLICY METHODS
          • Record Type
          • Offline QR Code Implementation
          • Invoice/json
            POST
        • Purchase Orders for F&B
          • FnB Purchase Orders Documentation
          • Offline QR Code Implementation 8.6
          • Retrieve Open Order Documents (FnB)
            GET
        • Document Management
          • Retrieving a document
          • PDF Invoice as an Email Attachment
        • Alternative Currency Holding
          • ALTERNATIVE CURRENCY (AC)
        • Heating Allowance
          • Heating Allowance Requirements
        • Delivery Notes
          • Delivery Notes Documentation
          • Quantitative Receipt Note - 10.1, 10.2
          • /Invoice/cancelDeliveryNote
            POST
        • POS Integration
          • POS Integration
          • POS Offline QR Code Implementation
          • Offline POS Connection Procedure
          • /PosSignatures/{issuerTin}
            POST
          • /PosTransactions/signpos
            POST
        • IRIS Integration
          • IRIS Payments via POS
          • IRIS Payments via Provider
            • Provider IRIS Documentation
            • 1.1 With IRIS via Provider Payment Method
            • /IrisPayments/InitiatePayment
            • /IrisPayments/GetPaymentStatus
        • Delayed POS Payment
          • Delayed POS Payment
        • B2G Documents
          • B2G Documents
          • B2G Mandatory Fields
          • B2G Status response
          • B2G Soft Reject
          • RESEED INVOICE
          • BT-10 BuyerReference
          • B2G fields for ERP Configurator 3
          • ΕΓΚΥΚΛΙΟΣ ΠΡΟΣ ΠΑΡΟΧΟΥΣ-ΠΡΟΜΗΘΕΥΤΕΣ ΥΠΗΡΕΣΙΩΝ ΥΓΕΙΑΣ ΓΙΑ ΤΗΝ ΗΛΕΚΤΡΟΝΙΚΗ ΤΙΜΟΛΟΓΗΣΗ
          • B2G Invoicing v8.2 | EKAPY
          • /B2GInvoice/ReSeedInvoice
            POST
          • /B2GInvoice/GetLastStatus
            GET
      • JSON Structures & Payloads
        • EliseCoreDocument Structure
          • EliseCoreDocument Structure
        • Minimum & Conditional Fields
          • Minimum & Conditional Fields
        • Response Examples & Error Handling
          • Response Examples & Error Handling
      • Offline QR Code
        • Offline QR Code Instructions
      • Status MyData
        • MyData/status
          GET
      • Extra Functionalities
        • Archiver
          • Archiver Functionality
      • Terminology
        • Document Type Codes
        • VAT & TAX Codes
        • Country & Currency Codes
        • Measurement Unit Codes (IAPR & EN16931)
        • Self-Billing Remarks (IAPR)
        • Classification & Payment Method Codes (IAPR)
        • Special Invoice Category
      • VAT Validation
        • Greek VAT Check
        • EU VAT Check
      • Attachments
        • Attaching Media & PDFs
        • Parallel PDF Viewing (pdfUrl)
        • Invoice Document Upload (Invoice/File)
      • Other ERP Related Segments
        • Elise - WDC Translator
        • SOFTONE Configurator
          • SOFTONE Configurator - B2G Mapping
    • eInvoicing Portal
      • Template Configuration (Default Template)
      • Single Sign-On (SSO)
        • Single Sign-on (SSO) Setup Instructions
        • Single Sign-On (SSO)
    • WIKI JSON Samples
      • 1.1 B2B
      • 1.3 B2B Sales Invoice Third Country
      • 5.2 B2B Credit Invoice Non-Associated
      • 2.1 B2B Service Rendered Invoice
      • 1.1 Debit B2G
      • 11.1 B2C Retail Sales Receipt
      • 11.4 Retail Sales Credit Note
  • Schemas
    • Sample Schemas
      • Pet
      • Category
      • Tag
    • Schemas
      • ActivationRequest
      • Orientation
      • IrisErrorResponse
      • ActivationResponse
      • PdfHtmlOptions
      • IrisPaymentStatusSuccessResponse
      • AdditionalFieldDto
      • GetKeysRequest
      • PdfUrlOptions
      • IrisPaymentsRequest
      • AddressType
      • GetTemplateResponse
      • ProblemDetails
      • IrisQrSuccessResponse
      • Address2
      • UploadImageRequest
      • AzureFunctionPayload
      • StringStringKeyValuePair
      • PayeeInfo
      • IrisQrSuccessResponseDto
      • UploadImageResponse
      • PaymentStatus
      • AddressX
      • YpahesEnum
      • AlcType
      • AlcX
      • B2GInvoiceStatusResponse
      • Attribute
      • NullableOfGeoLocation
      • CountryType
      • Bank2
      • CurrencyType
      • Dienergia
      • Classification2
      • EcrTokenType
      • CoreDoc
      • CountryX
      • EntityType
      • ExpensesClassification
      • ExpensesClassificationCategory
      • ExpensesClassificationType
      • DeliveryDetails2
      • IaprError
      • IaprTaxType
      • IncomeClassification
      • IncomeClassificationCategory
      • IncomeClassificationType
      • Invoice
      • Entity
      • InvoiceHeader
      • Entity2
      • InvoiceLine
      • InvoiceSummary
      • InvoiceType
      • InvoicesEnvelope
      • HeaderX
      • NspCode
      • OtherDeliveryNoteHeaderType
      • IFormFile
      • PartyType
      • PaymentMethodType
      • ProviderSignatureType
      • RefreshToken
      • Response
      • ResponseEnvelope
      • KeyValuePairOfintAndstring
      • LineX
      • SignatureDurationTypeCodes
      • SignaturePlaygroundData
      • MorfotyposDetailsDto
      • SignaturePlaygroundResponse
      • MyDataClassification
      • MyDataConnectPayload
      • SignedData
      • MyDataDirection
      • SigningDataRequestModel
      • NullableOfAddressX
      • SigningECCKeyPair
      • NullableOfB2GDetailsX
      • SpecialInvoiceType
      • NullableOfCountryX
      • StringStringValueTuple
      • NullableOfCurrencyX
      • NullableOfDeliveryDetail
      • NullableOfDeliveryDetail2
      • NullableOfDistributionDetailsX
      • TransmissionFailureType
      • NullableOfPaymentDetailsX
      • TransportDetail
      • NullableOfValueTupleOfstringAndstring
      • UsedSignature
      • ValidateProviderSignatureResponse
      • Party2
      • Party3
      • PartyType2
      • XmlSerializerNamespaces
      • PaymentMethod2
      • PaymentMethodMd
      • PaymentTermX
      • ProviderInfo
      • ReceptionEmailsType
      • ReceptionProvider
      • SummaryX
      • SynopsiClassificationsDto
      • SynopsiDetailsDto
      • TaxTotalDto
      • UblAllowancesCharge
      • UblInvoiceDocumentReferenceType
      • VatX
    • AccountPackageResponse
    • AdditionalDetails
    • Address
    • AllowanceCharge
    • AllowanceChargeTypeEnum
    • AuthenticationRequest
    • AuthenticationResponse
    • B2GDetails
    • B2GLastStatusResponse
    • B2GReseedInvoiceRequest
    • BadRequestResult
    • BadRequestResponse
    • Bank
    • BaseResponse
    • CardLine
    • CashLine
    • ChequeLine
    • Classification
    • CompanyAuthenticationError
    • ContractOrderDetails
    • CreditInvoiceDto
    • CustomField
    • DeliveryDetails
    • DeliveryNoteCancellationRequest
    • Detail
    • DistributionDetails
    • DocumentStatusEnum
    • FieldType
    • EliseCoreDocument
    • FnBDocumentResponse
    • EliseCoreReceipt
    • GeoLocation
    • IAPRSignPolicyEnum
    • PackingDeclaration
    • PosPaymentsRequestDto
    • PaymentMethodMetaData
    • PosPaymentsResponseDto
    • PaymentUpdate
    • Int32StringKeyValuePair
    • PosSignaturesRequestDto
    • MiscellaneousData
    • Party
    • PaymentDetails
    • PaymentMethod
    • PaymentTerm
    • RecordTypeEnum
    • RemittanceLine
    • ShipType
    • SignatureResponse
    • Summaries
    • Tax
    • TransmissionFailureEnum
    • UpdatePaymentMethodRequest
    • Vat
    • VesselDetails
    • VoucherLine
    • RefreshTokenDto
  1. Offline QR Code

Offline QR Code Instructions

🔗 Offline QR Code Generation#

1

🌐 Step 1: Select Environment#

📘 Demo portal url Environment: https://einvoiceportaluat.impact.gr/
🟢 Production portal url Environment: https://einvoice.impact.gr
2

📋 Step 2: Collect Invoice Data#

Gather the following parameters from your invoice json:
ParameterRequiredJSON fieldsExample Value
issuerTin✅ Yesissuer.registeredNamewith country codeEL036712001
customerTin⚠️ optionalcounterParty.vat (can be empty for B2C)EL110099934
CustomerName⚠️ optionalCounterParty.RegisteredName (can be empty for B2C)Demo Company
invoiceType✅ YesinvoiceTypeCode IAPR code1.1
series✅ YesFiscal series of the documentΤΔΑ
number✅ YesFiscal number of the document000028375
dateIssued✅ YesdateIssued in yyyyMMddHHmmss format20250621101302
totalAmount✅ Yessummaries.totalGrossValue (with VAT)124
totalNetAmount✅ Yessummaries.totalNetAmount (without VAT)100
totalVatAmount✅ Yessummaries.totalVATAmount24
internalId✅ YesMust match distributionDetails.internalDocumentIdΤΔΑ1.100002837520250621101302
signature✅ YesSHA1 hash (see Step 3)f08035d66842456df2411a1ca0e738ff10376e4a
3

🔐 Step 3: Generate Signature#

3.1 Create String Signature
Concatenate the following fields in this exact order with - separator ( ⚠️ Important** except APIKey which has NO separator):
{issuerTin}-{customerTin}-{series}-{number}-{dateIssued}-{totalAmount}-{internalId}{APIKey}
Example Final String::
EL036712001-EL110099934-ΤΔΑ-000028375-20250621101302-124-ΤΔΑ1.100002837520250621101302c0e4a18d-d3b4-40e6-92d0-ac96becb01c8
3.2 Convert to UTF-8 Byte Array
Byte Array (128 bytes):
[69, 76, 48, 51, 54, 55, 49, 50, 48, 48, 49, 45, 69, 76, 49, 49, 48, 48, 57, 57, 57, 51, 52, 45, 206, 164, 206, 148, 206, 145, 45, 48, 48, 48, 48, 50, 56, 51, 55, 53, 45, 50, 48, 50, 53, 48, 54, 50, 49, 49, ...]
Expected Output:
Total Bytes: 128 First 10 bytes: [69, 76, 48, 51, 54, 55, 49, 50, 48, 48] Last 10 bytes: [57, 54, 98, 101, 99, 98, 48, 49, 99, 56]
3.3 SHA1 Hash Calculation
SHA1 Hash Bytes (20 bytes):
[240, 128, 53, 214, 104, 66, 69, 109, 242, 65, 26, 28, 160, 231, 56, 255, 16, 55, 110, 74]
Algorithm: SHA-1 Output length: 160 bits = 20 bytes = 40 hex characters

3.4 Final Hexadecimal String
Final Signature (Hexadecimal):f08035d66842456df2411a1ca0e738ff10376e4a
Length: 40 characters - Charset: [0-9a-f]
4

🔗 Step 4: Construct Offline QR Code URL#

4.1 URL Template
{portalUrl}/TransmissionFailure?issuerTin={issuerTin}&customerTin={customerTin}&customerName={customerName}&invoiceType={invoiceType}&series={series}&number={number}&dateIssued={dateIssued}&totalAmount={totalAmount}&totalNetAmount={totalNetAmount}&totalVatAmount={totalVatAmount}&internalId={internalId}signature={signature}
4.2 Complete Example
Demo URL:
https://einvoiceportaluat.impact.gr/TransmissionFailure?IssuerTin=EL036712001&CustomerTin=EL110099934&CustomerName=Demo+Company&InvoiceType=1.1&Series=%CE%A4%CE%94%CE%91&Number=000028375&DateIssued=20250621101302&TotalAmount=124&TotalNetAmount=100&TotalVatAmount=24&InternalId=%CE%A4%CE%94%CE%911.100002837520250621101302&Signature=f08035d66842456df2411a1ca0e738ff10376e4a

✅ Validation Checklist#

Before finalizing, verify:
All required parameters are present
issuerTin include country code prefix (e.g., EL)
dateIssued is in yyyyMMddHHmmss format (NOT ISO format)
internalId matches distributionDetails.internalDocumentId exactly
URL is properly encoded (special characters in customerName, series)
Correct portal URL used (demo vs production)

🚨 Common Errors#

ErrorCauseSolution
Invalid signatureWrong concatenation orderVerify string format: {issuerTin}-{customerTin}-...-{internalId}{APIKey} (no - before APIKey)
QR code not workingWrong portal URLVerify demo vs production environment
Date format errorUsing ISO format in URLUse yyyyMMddHHmmss format (e.g., 20231010162042)
Missing parametersIncomplete URLEnsure all 12 parameters are present
Signature too long/shortWrong encodingSHA1 hex string must be exactly 40 characters

📌 Quick Reference#

Signature Formula:
{issuerTin}-{customerTin}-{series}-{number}-{dateIssued}-{totalAmount}-{internalId}{APIKey}
                                                                                    ↑
                                                                              NO HYPHEN 
💡
The offline QR code is officially supported only for the provider. While it is technically supported for ERP e-invoice or documents that do not update MyData, the legalization of offline documents applies exclusively to provider-issued documents.
💡
The current implementation applies only to the transmission of invoices via a provider and does not cover cases of transmission through an ERP system.
Modified at 2026-01-23 10:58:08
Previous
Offline QR Code
Next
MyData/status
Built with