eINVOICING
  1. POS Integration
eINVOICING
  • eInvoicing Service
    • About Us
    • What We Offer
    • FAQ
    • Changelog
    • On Boarding
    • eInvoicing Service API
      • API Authentication
        • API Key Authentication
          • /Authentication/login
        • Bearer Token Authentication
          • Authentication Login Bearer Token
          • Authentication Refresh
      • API Endpoints
        • API Validations
        • Sending a Document
          • Sending a Document
          • Mandatory Fields B2C, B2B
          • Mobile Notifications
          • IAPR SIGN POLICY METHODS
          • QR OF THE DOCUMENT
          • einvoice/json
          • Invoice/credit
        • Purchase Orders for F&B
          • FnB Purchase Orders Documentation
          • Offline QR Code Implementation
          • Retrieve Open Order Documents (FnB)
        • Document Management
          • Retrieving a document
          • PDF Invoice Attachment
        • Alternative Currency Holding
          • ALTERNATIVE CURRENCY (AC)
        • Delivery Notes
          • Delivery Notes Documentation
          • /Invoice/cancelDeliveryNote
        • POS Integration
          • POS Integration
          • Offline QR Code Implementation
          • /PosSignatures/{issuerTin}
            POST
          • /Receipt
            POST
          • /PosTransactions/signpos
            POST
        • Delayed POS Payment
          • Delayed POS Payment
        • B2G Documents
          • B2G Documents
          • B2G Mandatory Fields
          • B2G Status response
          • B2G Soft Reject
          • RESEED INVOICE
          • ΕΓΚΥΚΛΙΟΣ ΠΡΟΣ ΠΑΡΟΧΟΥΣ-ΠΡΟΜΗΘΕΥΤΕΣ ΥΠΗΡΕΣΙΩΝ ΥΓΕΙΑΣ ΓΙΑ ΤΗΝ ΗΛΕΚΤΡΟΝΙΚΗ ΤΙΜΟΛΟΓΗΣΗ
          • BT-10 BuyerReference
          • /B2GInvoice/ReSeedInvoice
          • /B2GInvoice/GetLastStatus
      • 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
      • 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
        • Invoice Document Upload (Invoice/File)
      • SOFTONE ERP Related Segments
        • 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
  1. POS Integration

POS Integration

1. Introduction#

Integrating your POS devices with the E-Invoicing Service is mandatory in order for the company to be able to transmit the transaction details for the respective transaction via POS to I.A.P.R. ([https://www.aade.gr/diasyndesi-pos-tameiakon-systimaton/diasyndesi-0]
Companies are obligated to connect their ERPs & POS devices in order to complete digital transactions and trasmit to I.A.P.R. the mandatory information.
Below you will find detailed information on how to include the necessary data in the JSON file that you send to the E-Invoicing Service.

2. Real-Time POS Payments#


Real-Time POS Payment Flow Diagram

image.png
Steps Description

1. ERP
Creates invoice in status "Under Issuance" with payment method “7” .
Calls SOFTONE IMPACT (/PosTransactions/signpos).
2. SOFTONE IMPACT
Return Response message (Response includes Provider Signature & input).
3. ERP
Receives & store Provider Signature
Call NSP (See NSP's documentation for further information).
4. NSP/POS
POS communicates with NSP & Acquirer.
Response message with information about succeed or failed transaction.
In case of Successful Transaction, NSP provides the transactionid.
5. ERP
Receives transactionid from NSP/POS (See NSP's documentation for further information).
Already holds Provider Signature & Input. (2.SOFTONE IMPACT)
6. ERP
Issues the invoice.
Calls SOFTONE IMPACT's API (/invoice/json), including all invoice's information, like invoice number, payment methods, transactionid, provider signature, input etc.
7. SOFTONE IMPACT
Sends invoice to I.A.P.R.
Returns Response with I.A.P.R. info (MARK, UID, Auth.Code) & Signature
(Signature is needed for the creation of QR Code URL)
8. ERP
Stores invoice and runs other potential processes (if necessary).
Stores SOFTONE IMPACT's Response.

To receive the Provider's signature, verify the POS payment and complete the bank transaction at the final POS terminal, initiate an HTTP POST request to domain/PosTransactions/signpos.​
With this call, we get the provider signature from the provider, which is needed to unlock the POS terminal and complete the payment. The provider signature consists of the json fields providerSignature plus posInput.

POST Domain/PosTransactions/signpos (depends on the provider you use)

Important Remarks
Endpoint for documents 8.4, 8.5: domain URL/Receipt:
SOFTONE IMPACT
https://einvoiceapiuat.impact.gr/PosTransactions/signpos (UAT)
https://einvoiceapi.impact.gr/PosTransactions/signpos (Production)
SOFTONE
https://einvoice-demo.s1ecos.gr/PosTransactions/signpos (UAT)
https://einvoice.coreapi.s1ecos.gr/PosTransactions/signpos (Production)
PROSVASIS
https://einvoiceapiuat.prosvasis.com/PosTransactions/signpos (UAT)
https://einvoiceapi.prosvasis.com/PosTransactions/signpos (Production)

Parameters#

NameDescriptionTypeLocation
APIKeyAPI Access KeystringHeader
AuthorizationAuthorization RequeststringHeader (Optional)

Request JSON Body#

{ ​

"nspCode": "CommonWeb",​

"issuerTin": "string", ​

"issueDate": "2024-03-23T19:49:29.201",​

 "branchCode": 0,​

 "invoiceTypeCode": "string",​

"series": "string", ​

"identifier": "string", ​

"mark": null, ​

"paymentAmount": 0,​

"totalNetAmount": 0, ​

"totalVatAmount": 0,​

"totalAmount": 0, ​

"terminalId": "string", ​

"signatureDurationType": "H_24"​

 }

Data types of previous JSON model#


NameTypeImportanceDescription
nspCodestringOptionalUnique value for specific *NSP Provider
issuerTinstringMandatoryTin Issuer
issuerDatestringMandatoryDate & Time
branchCodeintegerMandatoryBranch code regarding IAPR
invoiceTypeCodestringMandatoryInvoice type code based on IAPR Documentation
seriesstringMandatorySeries of invoice
indentifierstringMandatoryInternal document ID or other unique ID
marklong numberOptionalMark, in this field the value “null” should be added when there is no value in the field​
paymentAmountnumberMandatoryPayment amount may be different from total amount in case of different payment methods​
totalNetAmountnumberMandatory
totalVatAmountnumberMandatory
totalAmountnumberMandatorySum of Net & Vat amounts
terminalidstringMandatoryCode of POS Terminal
signatureDurationTypestring "H_24, H_2"MandatoryTime expiration of provider signature, H_24 default value, H_2 for fnb

Definitions#

NSP Provider#

1.
nspCode: This indicates the NSP through which terminal the payment will be made, specifically for each NSP
You will find three versions: Web, TCP, and A2A (app-to-app).

2.
NSP may be the same with card acquirer: The NSP legal entity engaged in the provision and management of POS terminals and in providing services that include connecting POS terminals to the obligated entities. The Acquirer legal entity provides payment execution services, with payment cards (credit, debit, prepaid, etc.). Card acceptance services are provided by the Payment Service Provider to a contracted entity, so that they can accept latter payment using payment cards.

3.
NspCode entities:
CommonWeb = 0,
EuronetTcp = 101,
EuronetWeb = 102,
EuronetA2A = 103,
NexiTcp = 201,
NexiWeb = 202,
NexiA2A = 203,
VivaTcp = 301,
VivaWeb = 302,
VivaA2A = 303,
CardlinkTcp = 401,
CardlinkWeb = 402,
CardlinkA2A = 403,
EdpsTcp = 501,
EdpsWeb = 502,
EdpsA2A = 503,
MellonTcp = 601,
MellonWeb = 602,
MellonA2A = 603,
AdyenTcp = 701,
AdyenWeb = 702,
AdyenA2A = 703,
INSSTcp = 801,
INSSWeb = 802,
INSSA2A = 803,
EverypayTcp = 881,
EverypayWeb = 882,
EverypayA2A = 883,
WorldlineTcp = 901,
WorldlineWeb = 902,
WorldlineA2A = 903,
AtticaBankTcp = 111,
AtticaBankWeb = 112,
AtticaBankA2A = 113,
JCCTcp = 121,
JCCTWeb = 122,
JCCTA2A = 123,
PancretaTcp = 131,
PancretaWeb = 132,
PancretaA2A = 133,
PtbTcp = 141,
PtbWeb = 142,
PtbA2A = 143,
GAPVassilopoulosTcp = 151,
GAPVassilopoulosWeb = 152,
GAPVassilopoulosA2A = 153,
MyPOSLimitedTcp = 161,
MyPOSLimitedWeb = 162,
MyPOSLimitedA2A = 163,
TORADirectTcp = 171,
TORADirectWeb = 172,
TORADirectA2A = 173,
NeosoftTcp = 181,
NeosoftWeb = 182,
NeosoftA2A = 183

Amount Fields#

PaymentAmounts may be equal to or less than the totalAmount, however, it must also be confirmed by the NSP that it supports this specific scenario.​
Τhe values for totalNetAmount, totalVatAmount, and totalAmount should match the summaries of the invoice.​
Therefore, in multiple payment scenario, the primary field that changes is paymentAmount.

SignatureDuration Time#

It does not concern the Acquirer, but rather your company's operational activity, the H2 value concerns FNB businesses and H24 for all other companies, we suggest to use the H24 value.

Provider id#

The customer's ERP must also send the provider ID to the POS terminal, as specified in the provider's contract shown below.

For the validation of the provider signature by each NSP, please use the appropriate public key validation corresponding to the provider you are using and the environment in which you are conducting POS transactions. Below, you will find the correct provider IDs.

Softone:#

DEMO provider id -> 001
Public validation key: MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpAOgBox3m1gwIegjXAY1kBgMC7g9AObMAMX/vSa3LdJCvMfYL+Mx1EIglHCcJuv91KPW9XGaIQJNZe2aChGdBg==
PRODUCTION provider id-> 101
Public validation key: MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIFqwM/oVCUFX2Bp2DvPLlYs8Gp7sF24270jsbCMvVex9Zol/LV20yziEDdp6HMpyhBUliostH0F6nzFkbBAR9g==

Impact:#

DEMO provider id -> 003
Public validation key:: MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKWntZsheCA84gKuvuk+RjBm0vuIdsg+/0B3s1h2U9v1V8WrSYyPgalPb/YoXkj0b3JCdsnlelkXsHmG5O9ym/A==
PRODUCTION provider id-> 103
Public validation key: MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfC826ps7PKY60NmMDS/2pDS3Fcc3pUI3W6ESeBfPDaHvDL3A8BbbKu7AREcpyTgDpu/U2/eWpF4X5s5FTLYfkw==

Prosvasisgo:#

DEMO provider id-> 009
Public validation key: MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELO88l3UwLFjbCfqtUjVAAB9LwblZkspfCQ05eBQJp4OLWnAS97AxR/tyvobHjD9EKJ1FfJIj185DXMxsSP8WPw==
PRODUCTION provider id -> 109
public validation key:
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1GRY0vLjEPh6GQ6ehUQw5tQut+xvWdyRsiHCVSf6fSqEhJJgJ+6++PTL/wTDlwskdNbmn9jdcFJb6rkgrokIMg==

Responses#

CodeNameMedia TypeDescription
200Successapplication/jsonReturns the signatures
400Bad Requestapplication/jsonMessage describing the status of the request
401Unauthorizedapplication/jsonMessage describing unauthorized request

Example response JSON body (fo 200 - Success)
{​

"input":"1686345696C2FCC2B51FBA922E502A84C7021BBA;0;20240717103906;800;104;904;904;08104148",​

"signature": "MEUCIQCeZ9pqqk8JQojdI26UH7+3biB5Nl6wgyE/21089FlXhAIgWLQBb34YauOXtqcnHo230/89Tqus6NRJTNSA0DlE40s=«​

} ​

The input field includes UID, total amounts, mark (if available), terminalId, etc. The order of the information included depends on the NSP provider’s technical specs of the customer.

Example response JSON body (for 400 - Bad Request or 401 - Unauthorized)
{​

  "success": true,​

  "message": "Message describing the status of the request"​

}

11.1 JSON Sample#

    "Currency": "Euro",
    "CurrencyCode": "EUR",
    "InvoiceType": " ΑΠΟΔΕΙΞΗ ΛΙΑΝΙΚΗΣ ΠΩΛΗΣΗΣ",
    "InvoiceTypeCode": "11.1",
    "DocumentTypeCode": "INVOICE",
    "IsDeliveryNote": false,
    "Series": "ΑΛΠ",
    "number": "3262789",
    "dateIssued": "2025-01-15T13:33:43.845",
    "OrderCode": "101",
    "issuer": {
        "registeredName": "Ταβέρνα Γ.",
        "vat": "EL222222222",
        "taxOffice": "ΔΟΥ ΣΤ ΑΘΗΝΩΝ",
        "GeneralCommercialRegistryNumber": "2154697391",
        "activities": [
            "Ταβέρνα"
        ],
        "address": {
            "countryCode": "GR",
            "city": "Αθήνα",
            "street": "Αθήνας",
            "number": "32",
            "postal": "15342"
        },
        "phones": [
            2109929299
        ],
        "branchCode": 0,
        "branch": "Κεντρικό κατάστημα"
    },
    "CounterParty": {
        "RegisteredName": "ΠΕΛΑΤΗΣ ΛΙΑΝΙΚΗΣ",
        "Vat": "",
        "Address": {
            "CountryCode": "GR",
            "Municipality": "ΑΘΗΝΑ",
            "City": "ΑΘΗΝΑ",
            "Street": "Κηφισού",
            "number": "32",
            "Postal": "11000"
        }
    },
    "AllowancesCharges": [],
    "DistributionDetails": {
        "InternalDocumentId": "internal12354665243"
    },
    "PaymentDetails": {
        "PaymentMethods": [
            {
                "PaymentMethodType": "Credit Card",
                "PaymentMethodTypeCode": 7,
                "Amount": 124,
                "tipAmount": 0,
                "transactionId": "123ABCxyz456",
                "providersSignature": "MEUCIAlZ5uyFejSUEiu1ENEAEgK7qEny/5bBNijYWkl8ki1Ajw9zR+Uopy3vcfHEEX7GTiHSac41KL3bQ91iW0=",
                "posInput": "209E13AFE4E1DC02BEDA4BBEE08B6C5AEA4D9D94;;20240725162624;12400;10000;2400;12400;1258746",
                "terminalId": "POS_1"
            }
        ]
    },
    "AdditionalDetails": {
        "AccountingDepartmentEmails": [
            ""
        ],
        "TransmissionMethod": "A",
        "AvoidEmailGrouping": false
    },
    "Details": [
        {
            "LineNo": 1,
            "Descriptions": [
                "Product"
            ],
            "MeasurementUnitCode": 1,
            "Quantity": 100,
            "UnitPrice": 1.09,
            "NetTotal": 109.73,
            "VatCategory": "13",
            "VatCategoryCode": 2,
            "VATTotal": 14.27,
            "Total": 124,
            "IsInformative": false,
            "IsHidden": false,
            "RecordTypeCode": 0,
            "IncomeClassification": {
                "ClassificationTypeCode": "E3_561_003",
                "ClassificationCategoryCode": "category1_1"
            }
        }
    ],
    "Summaries": {
        "TotalNetAmount": 109.73,
        "TotalVATAmount": 14.27,
        "TotalGrossValue": 124
    },
    "VatAnalysis": [
        {
            "Percentage": 13.0,
            "VatAmount": 14.27,
            "UnderlyingValue": 109.73
        }
    ],
    "IsDelayedCode": 0
}


DATA types of previous JSON Model#


NameTypeImportanceDescription
paymentMethodTypeCodeobjectMandatoryΤhe details of the counterparty are entered in this object. It is NOT mandatory for these types of invoices
PaymentMethodTypestringMandatoryPayment Method description
TransactionId*stringMandatoryUnique payment Id (provided by *NSP)
ContactlessbooleanOptionalIndicates if the payment is contactless
PosInputstringMandatoryUnique payment Id (provided by Impact)
TipAmountnumberOptionalTip amount for the service
providersSignaturestringMandatoryUnique provider signature (provided by Impact)
InternalDocumentIdstringMandatoryIt is a unique mandatory document number in the issuer’s system
terminalIdstringMandatoryCode of POS terminal

TransactionId – Unique Payment Identifier
According to Decision A.1155/2023 concerning POS systems, the specifications for generating the Unique Payment Identifier (TransactionId) define it as an alphanumeric field produced by concatenating specific individual data elements, separated by a semicolon (“;”), depending on the communication type of the Payment Instrument (POS terminal).
There are two rules (types) for generating the TransactionId:
1.
Payment Instruments with ISO 8583 support – transaction rule1
Example: tr1;014;000237567237;101051
2.
Payment Instruments without ISO 8583 – transaction rule2
Example: tr2;014;000237;237028;101051

3. Prepaid POS Payment 8.4 & 8.5#


Steps Description

1. ERP
Creates invoice in status "Under Issuance" with payment method “7”
Calls SOFTONE IMPACT (/PosTransactions/signpos)
2. SOFTONE IMPACT
Return Response message (Response includes Provider Signature & input).
3. ERP
Receives & store Provider Signature
Call NSP (See NSP's documentation for further information).
4. NSP/POS
POS communicates with NSP & Acquirer.
Response message with information about succeed or failed transaction.
In case of Successful Transaction, NSP provides the transactionid.
In case of failure transaction, the flow starts from the beginning (1. ERP).
5. ERP
Receives transactionid from NSP/POS (See NSP's documentation for further information).
Already holds Provider Signature & Input. (2.SOFTONE IMPACT)
6. ERP
Issues the receipt (8.4 or 8.5).
Calls SOFTONE IMPACT's API (/invoice/json), including all invoice's information, like invoice number, payment methods, transactionid, provider signature, input etc.
7. SOFTONE IMPACT
Sends receipt to I.A.P.R.
Receives Response with IAPR info (MARK, UID, Auth. Code) & Signature (Signature is needed for the creation of Qr Code URL).
8. ERP
Stores document and SOFTONE IMPACT's response.
Issue debit/credit invoice and correlate the Receipt of POS Payment.

Create a Receipt of POS (8.4) or Create a POS Return Receipt (8.5)#


Advances, prepayments, and approvals for which collections are made for the tax document is issued later. It concerns debit and credit transactions for which a subsequent process of correlation of POS collection receipts and POS return receipts with invoices, retail receipts, credit invoices, and credit retail receipts is carried out, with json field “multipleConnectedMarks”. For receipts, a signature and input are also needed, so you should first complete the post POS transaction (unlock the POS Payment).
Transaction collections and refunds on behalf of third parties. In this case, no correlation procedures are performed. The required json field here is “thirdPartyCollection” with value true.
Important Remarks
Endpoint for documents 8.4, 8.5: domain URL/Receipt:
SOFTONE IMPACT
https://einvoiceapiuat.impact.gr/Receipt (UAT)
https://einvoiceapi.impact.gr/Receipt (PRODUCTION)
SOFTONE
https://einvoice-demo.s1ecos.gr/Receipt (UAT)
https:einvoice.coreapi.s1ecos.gr/Receipt (PRODUCTION)
PROSVASIS
https://einvoiceapiuat.prosvasis.com/Receipt (UAT)
https://einvoiceapi.prosvasis.com/Receipt (PRODUCTION)

8.4 JSON Sample#


    "currencyCode": "EUR",​

    "series": "AEPOS",​

    "number": "21",​

    "dateIssued": "2024-03-29T14:21:54.057",​

    "invoiceType": "Αποδειξη Είσπραξης POS",​

    "invoiceTypeCode": "8.4",​

    "documentTypeCode": "INVOICE",​

    "thirdPartyCollection": false,​

    "multipleConnectedMarks":[400001930202839],​

    "totalAmount": 124.00,​

    "issuer": {​

        "registeredName": "BEST SHOPPING A.E.",​

        "vat": "EL157448994",​

        "taxOffice": "ΔΟΥ ΣΤ ΑΘΗΝΩΝ",​

        "activities": [​

            "Πωλήσεις Οικιακών Συσκευών"],​

        "address": { "countryCode": "GR",​

            "city": "Athens",​

            "street": "Ομήρου 9",​

            "postal": "15342"},​

        "branchCode": 0,​

        "branch": "Κεντρικό κατάστημα",​

        "Bank": {​

            "bicCode": "PIRBGRAA",​

            "name": "Bank etc",​

            "vat": "158804022",​

            "branchCode": "PIRBGRAAXXX",​

            "branch": "Stadiou 20",​

            "account": "0025102580340",​

            "iban": "GR0800500256900025102580340",​

            "contactDetails": "Dimopoulos Costas",​

            "vatinid": "string",​

            "vatin": "string",​

            "swift": "string" }}, 
            
    "counterParty": {​

        "registeredName": "ΕΠΙΧΕΙΡΙΣΗ",​

        "vat": "EL045794116",​

        "taxOffice": "ΔΟΥ ΣΤ ΑΘΗΝΩΝ",​

        "address": {​

            "countryCode": "GR",​

            "city": "Athens",​

            "street": "Ομήρου 9",​

            "postal": "15342" } },​

    "cardlines": [​

        {"lineNo": 1,​

            "amount": 124,​

            "tipAmount": 10,​

            "transactionId": null,​

            "providersSignature": null,​

            "posInput": null,​

            "terminalId": "POS_1",​

            "remarks": "some remarks",​

            "isInformative": false,​

            "isHidden": false,​

            "rrn": "30900820735",​

            "cardNumber": "**** *** **** *** 1234" }],​

    "AdditionalDetails": {​

        "AccountingDepartmentEmails": [],​

        "TransmissionMethod": "A",​

        "AvoidEmailGrouping": false },​

    "internalDocumentId": "InternalIdReceipt99",​

    "miscellaneousData": {​

        "moreInformation1": "string",​

        "moreInformation2": "string",​

        "moreInformation3": "string",​

        "comments1": "string",​

        "comments2": "string"},​

    "isDelayedCode": 0}

8.5 JSON Sample#

{
    "currency": "Euro",
    "currencyCode": "EUR",
    "series": "AEPOS",
    "number": "76",
    "dateIssued": "2024-03-29T14:21:54.057",
    "invoiceType": "Αποδειξη Επιστροφής POS",
    "invoiceTypeCode": "8.5",
    "documentTypeCode": "INVOICE",
    "totalAmount": 124.00,
    "multipleConnectedMarks": [400001930202839
],
"thirdPartyCollection": false,
"issuer": {
    "registeredName": "BEST SHOPPING A.E.",
    "vat": "EL157448994",
    "taxOffice": "ΔΟΥ ΣΤ ΑΘΗΝΩΝ",
    "activities": [
        "Πωλήσεις Οικιακών Συσκευών"
    ],
    "address": {
        "countryCode": "GR",
        "city": "Athens",
        "street": "Ομήρου 9",
        "postal": "15342"
    },
    "branchCode": 0,
    "branch": "Κεντρικό κατάστημα",
    "Bank": {
        "bicCode": "PIRBGRAA",
        "name": "Bank etc",
        "vat": "158804022",
        "branchCode": "PIRBGRAAXXX",
        "branch": "Stadiou 20",
        "account": "0025102580340",
        "iban": "GR0800500256900025102580340",
        "contactDetails": "Dimopoulos Costas",
        "vatinid": "string",
        "vatin": "string",
        "swift": "string"
    }
},
"counterParty": {
    "registeredName": "ΕΠΙΧΕΙΡΙΣΗ",
    "vat": "EL045794116",
    "taxOffice": "ΔΟΥ ΣΤ ΑΘΗΝΩΝ",
    "address": {
        "countryCode": "GR",
        "city": "Athens",
        "street": "Ομήρου 9",
        "postal": "15342"
    }
},
"cardlines": [
    {
        "lineNo": 1,
        "amount": 124,
        "tipAmount": 10,
        "transactionId": null,
        "providersSignature": null,
        "posInput": null,
        "terminalId": "POS_1",
        "remarks": "some remarks",
        "isInformative": false,
        "isHidden": false,
        "rrn": "30900820735",
        "cardNumber": "**** *** **** *** 1234"
    }
],
"AdditionalDetails": {
    "AccountingDepartmentEmails": [],
    "TransmissionMethod": "A",
    "AvoidEmailGrouping": false
},
"internalDocumentId": "InternalIdReceipt56",
"miscellaneousData": {
    "moreInformation1": "string",
    "moreInformation2": "string",
    "moreInformation3": "string",
    "comments1": "string",
    "comments2": "string"
},
"isDelayedCode": 0
}

11.1 JSON Sample correlated with Receipt#

    "Currency": "EURO",
    "CurrencyCode": "EUR",
    "InvoiceType": "ΑΠΟΔΕΙΞΗ ΛΙΑΝΙΚΗΣ ΠΩΛΗΣΗΣ",
    "InvoiceTypeCode": "11.1",
    "DocumentTypeCode": "INVOICE",
    "Series": "ALPC",
    "Number": "1111111",
    "DateIssued": "2023-03-07T21:20:34",
    "RelativeDocuments": [],
    "multipleConnectedMarks": [
        400001930202839
    ],
    "Issuer": {
        "RegisteredName": "FOOD COMPANY",
        "Vat": "EL123456789",
        "TaxOffice": "ΦΑΕ ΑΘΗΝΩΝ",
        "Activities": [
            "ΥΠΗΡΕΣΙΕΣ ΛΟΓΙΣΜΙΚΟΥ"
        ],
        "GeneralCommercialRegistryNumber": "111111111",
        "Address": {
            "CountryCode": "GR",
            "City": "ΑΘΗΝΑ",
            "Street": "ΟΔΟΣ ΑΡΙΘΜΟΣ",
            "Postal": "15124"
        },
        "Phones": [
            "210 0000000"
        ],
        "Url": "myurl.gr"
    },
    "CounterParty": {
        "RegisteredName": "ΠΕΛΑΤΗΣ-ΛΙΑΝΙΚΗΣ",
        "Phones": [
            "6999999999"
        ],
        "Address": {
            "CountryCode": "GR",
            "Municipality": "ΔΗΜΟΣ ΑΘΗΝΑΙΩΝ",
            "City": "ΠΟΛΗ",
            "Street": "ΟΔΟΣ ΑΡΙΘΜΟΣ",
            "Postal": "11146"
        },
        "Code": "000000"
    },
    "DistributionDetails": {
        "InternalDocumentId": "222222", 
        "totalQuantity": 1
    },
    "PaymentDetails": {
        "PaymentMethods": [
            {
                "PaymentMethodType": "Credit",
                "PaymentMethodTypeCode": 5, 
                "amount": 100.81
            }
        ],
        "PaymentDate": "2022-03-07T00:00:00",
        "ExchangeCurrency": "EUR"
    },
    "additionalDetails": {
        "accountingDepartmentEmails": [
            "test@example.com"
        ],
        "transmissionMethod": "E",
        "documentTemplate": ""
    },
    "Details": [
        {
            "LineNo": 1,
            "Code": "",
            "Descriptions": [
                "MILK"
            ],
            "MeasurementUnit": "TMX",
            "MeasurementUnitCode": 1,
            "Quantity": 1.00,
            "UnitPrice": 125.00,
            "NetTotal": 100.81,
            "Total": 125.00,
            "AllowancesTotal": 0.00,
            "VATTotal": 24.19,
            "VatCategory": "24",
            "VatCategoryCode": 1,
            "IsInformative": false,
            "IsHidden": false,
            "RecordTypeCode": 0,
            "IncomeClassification": {
                "ClassificationTypeCode": "E3_561_003",
                "ClassificationCategoryCode": "category1_2"
            }
        }
    ],
    "Summaries": { //Συνοπτικά ποσά
        "TotalNetAmount": 100.81,
        "TotalVATAmount": 24.19,
        "TotalGrossValue": 125.00,
        "TotalCharges": 0.00,
        "TotalPayableAmount": 125.00,
        "AllowancesTotal": 0.00
    },
    "VatAnalysis": [ //Ανάλυση ΦΠΑ
        {
            "Percentage": 24.00,
            "VatAmount": 67.74,
            "UnderlyingValue": 282.26
        }
    ],
    "miscellaneousData": {
        "moreInformation1": "Προαιρετικό πεδίο για σχόλια"
    },
    "IsDelayedCode": 0
}

DATA types of previous JSON Model#


NameTypeImportanceDescription
CounterPartyobjectOptionalΤhe details of the counterparty are entered in this object. It is NOT mandatory for these types of invoices
CardlinesobjectMandatoryMandatory for POS Receipts, case of document 8.4, 8.5 - POS Receipt, POS Return Receipt
TransactionIdstringMandatoryUnique payment Id (provided by *NSP)
ContactlessbooleanOptionalIndicates if the payment is contactless
PosInputstringMandatoryUnique payment Id (provided by Impact)
TipAmountnumberOptionalTip amount for the service
providersSignaturestringMandatoryUnique provider signature (provided by Impact)
InternalDocumentIdstringMandatoryIt is a unique mandatory document number in the issuer’s system
terminalIdstringMandatoryCode of POS terminal
BankobjectOptionalContains information about issuer bank
ThirdPartyCollectionbooleanOptionalDetermines whether the business utilizing Payment Means as a Payment Service User collects on behalf of third parties

4. Q&A#


Real-Time Payment#


Are all calls logged?
All calls are recorded, and you can view them in the signatures section on the Portal. The same applies to the attempts to make a payment (e.g., the credit card has no balance, the credit card has expired). Every signpos call is logged.

When communicating the POS transaction, series must be included in request, but we have series linked to the invoice (the invoice is generated far after the payment at the moment we process the order). So, it’s almost impossible to have series in the request taking into consideration the current behavior of our system. What can we do in such case?
The series on the signPos request must be the same with the series that you are going to issue for this transaction.

Let’s say I want to pay for my order 40 euros from one card and 50 euros from the different one. How many times we have to communicate with the provider and how many inputs and Provider signatures we have to receive?
The provider can accept more than one payment methods, so this question has to do with the operation of POS terminal. In each payment you must use a unique Provider Signature. Please, discuss with your POS provider for more information.

What is the difference between the totalAmount and paymentAmount? Is it correct that payment Amount is the amount we will extract from the credit card in the end? For example, customer ordered products for 200 euro, but he has 40 euro in Club credits, so paymentAmount=160 euro, while totalAmount=200?
The paymentΑmount is the amount of the payment transaction that is taking place with the card for which you are sending the request.

What is the default value of Mark on the signPos?
Τhe default value for Mark is null not zero.

What is the value of identifier of signPos?
The field identifier takes as value the Internal document id of the document OR other unique code if it is not available.

What happens in the case where the customer is entitled to a redemption, such as yellows?
Clarifications should be requested from the NSP providers, as they are the ones managing the loyalty programs.


What should I do if I have made a signPOS call and there is a communication failure with the provider?
In this case, you should proceed with a void (cancellation, provided that your NSP supports it). The funds will be returned to the customer's card, and then you can repeat the process to obtain a signature and complete the payment.


In case the communication between ERP and einvoicing provider is down and we do not receive a response to obtain the signature and input needed to send it to the NSP provider, what should we do?
If the NSP being used supports offline payment, the payment is processed normally, and an offline QR code for the debit document is generated.
In case the NSP does not support offline payment, payment via POS cannot be made, and the payment method must be changed.

Prepaid Payment#


Can you explain with an example the prepayment (document 8.4)?
I visit a store and order a phone worth 1000 euros which is not available at the moment. I make a down payment and receive a receipt via POS. Later, when I go to pick up the phone, the ERP issues my document, finalizes the receipt, and marks it as correlative.

For cash payments, does the same apply to prepayment (document 8.4)
There is no obligation to transmit cash payments, but if you want to issue a receipt for cash prepayments, you can issue an 8.4 receipt using the cashlines object instead of the cardlines object of the POS.
Both are transmitted to the AADE's xml.

What classifications are used in the case of prepayment, balances, and settlement?
In documents 8.4 and 8.5, there is no need to fill in the classification, as the document lines are cardlines and the provider automatically fills in the only acceptable classification category1_95. These classifications, in any case, only update the myDATA of the issuer.

What is the cardline?
Cardline is a line item for receipts that captures the total amount collected, tip amounts, transaction ID, POS input, provider's signature, and additional bank card details.
It is only applicable to types 8.4 and 8.5 POS receipt collections.

Which endpoint do we use in cases of 8.4, 8.5 documents?
Domain URL/Receipt

What happens in the case of installment payments, given that each store operates differently?
If the installment is paid via POS, then we follow the /PosTransactions/signpos process to complete the payment, and then use prepayments 8.4 and 8.5 for the installment case. Later we update part of the invoice.

For what reason we issue an 8.5 document?
It is used to perform the reversal. In our example with the mobile phone, if the mobile phone was not delivered, the prepayment is refunded by issuing document 8.5.
Modified at 2025-06-26 10:26:11
Previous
POS Integration
Next
Offline QR Code Implementation
Built with