Skip to content

Certification & going live

Before you get a production key, we certify that your app handles the basics correctly: it issues documents, credits them, prints them and handles errors. You need no appointment and no Word file, and you do not need to send us any MARK: we can see the documents you issued in the sandbox. Certification is free of charge.

flowchart LR
    A["You run the core scenarios<br/>from your app"] --> B["Certification<br/>request"]
    B --> C{"Novus<br/>review"}
    C -- "needs a fix" --> A
    C -- "approved" --> D["Production<br/>key"]
    D --> E["Customer<br/>activation"]

1. Run the core scenarios

  • Run the scenarios from your own app, in the sandbox, with the VAT number (ΑΦΜ) you entered when you signed up.
  • Postman has every scenario ready (folders 1, 2, 3 and 9): check there exactly what your app must send. Certification, however, is done from your app, not from Postman.
  • Write down the dates you ran them. You will give them to us in the request.
  • Send the request within 30 days: in the sandbox, documents are deleted after 30 days.
# What you do In the request
B1 A document with two lines, one with 24% VAT and one with 13%: 11.1 if you do retail, 1.1 if you do wholesale (if you do both, send both). Nothing. We check it ourselves.
B2 A credit note for B1: 11.4 for retail, 5.2 or 5.1 for wholesale (which credit note). Nothing. We check it ourselves.
B3 The printout of B1, as your app produces it (print rules). PDF or photo. If you give your customer the provider's PDF (invoiceUrl), just say so.
B4 A deliberate error (e.g. payments that differ from the total → HTTP 400). Your user must see a clear message. Declaration
B5 Send B1 again, exactly the same → AADE error 228. Your app must show it as "already issued", with the MARK of the original, not as a failure. Declaration

2. The other modules: not certified

Card payment, food service, goods movement, B2G, OSS and the Onboarding API are not certified. In the request you declare which ones you use, and you test your implementation yourself, with the guide and Postman.

Module Guide Postman Watch out
Card / IRIS Card / IRIS payment folder 4 Every signature you request must be completed with CompletionPosInvoices.
Food service Food service folder 5 A table left open for more than 24 hours blocks issuing for your customer's whole branch.
Goods movement Goods movement folder 6
B2G Public sector (B2G) folder 7 You need a separate B2G sandbox key.
OSS OSS folder 8 Your app calculates the foreign VAT.
Onboarding API Onboarding API Onboarding collection If you use webhooks, verify the signature of every call.

3. Send the certification request

When the scenarios have run, fill in the request:

Certification request

The request asks for:

  • company, app and version,
  • the email of your sandbox account and the issuer VAT number you used,
  • the dates you ran the scenarios,
  • the B3 printout (or a statement that you give the provider's PDF),
  • the declarations for B4 and B5,
  • the modules you use.

4. What happens next

  • We review your documents and the printout, and reply in the same request.
  • If something needs a fix, we tell you exactly what. You fix it, rerun only that scenario and reply in the same request.
  • If it is approved, we send you the instructions for the production account and key.

5. Activating customer VAT numbers (production only)

For each customer (issuer VAT number) you need:

  1. A contract between the customer and Novus Conceptus, signed by the legal representative.
  2. An authorization of Novus Conceptus as provider, given by the customer in myAADE.
  3. A Provider declaration to AADE. We submit it after approval.

All of this happens automatically through the Onboarding API: you create a request, the customer signs the contract and you track the status until approval. You can also do it from the portal. See Onboarding API.

6. Credits

Each call uses credits from your account balance (charges per type). You buy credits from the production portal. When the balance is not enough, the call is rejected with HTTP 400 "You don't have enough balance to send this request." and the document is not transmitted.

Print rules

If you use the provider's PDF (invoiceUrl), the rules are already covered. If you print your own document (e.g. on a thermal printer), it must include:

  • the provider's name and website: Novus Conceptus | https://timologisi.online,
  • the QR code (from invoiceUrl / qrUrl),
  • the MARK, UID and Authentication Code,
  • the issue date and time, clearly legible,
  • for POS payments: the payment details, that is the transaction id and the provider signature used, for each amount separately,
  • for offline issuing: the text "Απώλεια Διασύνδεσης Παρόχου - ΑΑΔΕ" (Provider - AADE connection lost) or "Απώλεια Διασύνδεσης Οντότητας - Παρόχου" (Entity - Provider connection lost), depending on the case.

After going live

  • Follow the terms of use.
  • Monitor the responses for warnings and errors.
  • If you add a module later (e.g. card or food service), you do not need a new certification: follow its guide.
  • We announce every AADE change that affects you on the Changelog page, before it takes effect.