AstroBaaS

Tax & compliance

Greek myDATA e-invoicing

Paid pluginsize Lplanned, not built

Indicative price, not an offer: €99–199/month (Greece-specific)

Generated from docs/plan/paid/greek-mydata-e-invoicing/PLAN.md in the AstroBaaS repository. Nothing described below is implemented — it is the written plan for it.

Paid module (EUR 99–199/month) for Greece: real-time e-invoicing to AADE (Hellenic Ministry of Finance) myDATA platform. Every B2B and B2C invoice is transmitted in real time via XML, AADE validates and returns a unique reference number, and receipt stores the reference. Non-compliance is a criminal offense in Greece (daily fines + potential jail time for officers). This is the highest-risk jurisdiction for AstroCMS merchants. [DUPLICATE ENTRY: See ‘greece-mydata-e-invoicing’ above for full details.]

The problem

Greek myDATA e-invoicing is mandatory for B2B transactions in Greece. AstroBaaS merchants operating in Greece have no integration and cannot comply. Non-compliance is a criminal offense with daily fines and potential jail time for officers.

What it does

  • Real-time e-invoicing to AADE myDATA via XML transmission
  • Certificate-based authentication (merchant provides AADE-issued PKCS#12 certificate)
  • Invoice transmission on order capture; AADE validates and returns mark (unique reference)
  • Audit log of all transmissions (request/response/mark/timestamp)
  • Error handling and automatic retry for failed transmissions
  • Invoice receipt displays AADE mark and transmission timestamp

What it deliberately does NOT do

Each boundary carries its reason. A boundary without a reason gets crossed by the next person who reads this.

  • No certificate provisioning (merchant must obtain from AADE)
  • No multi-language legal templates
  • No support for edge cases (special tax regimes, reverse charge, etc.)

Data model

Settings: aade_certificate_file, aade_certificate_password (encrypted). Order: aade_mark, aade_transmission_date, aade_transmission_status. AuditLog: aade_transmission events with response details.

API

  • POST /api/settings/aade/upload-certificate
  • POST /api/orders/:id/transmit-to-aade (manual retry)
  • GET /api/orders/:id/aade-status
  • GET /api/aade/transmission-log

Every route added here must also appear in src/pages/openapi.json.ts — a test fails the build if it does not.

Admin

Settings → Greece AADE myDATA: certificate upload, test button, certificate expiry warning. Orders table: AADE Mark column. Order detail: transmission timestamp, mark, XML/response log.

The seam — why this is paid

Paid module owns AADE API and transmission. Core owns order and receipt. Merchant owns certificate.

Per-country legal obligation. Requires PSP name and merchant docs; high support commitment.

Dependencies

  • Order entity (core)
  • Invoice/receipt generation (core)
  • AADE myDATA API (third-party)

Acceptance checks

Each of these must be able to fail. Before claiming this is done, break the code deliberately and watch each one go red.

  • Order checkout transmits to AADE; mark is assigned within 2 seconds
  • Receipt displays mark and transmission timestamp
  • Failed transmission retries automatically
  • Manual retry available in admin UI
  • Transmission audit log tracks all events

Risks

Certificate expiry, network downtime, API schema changes, logs deleted, wrong certificate uploaded

Commercial context

Suggested price€99–199/month (Greece-specific)
Rival anchorMagento free; requires third-party connector. AstroBaaS deliberately does not support it.

The anchor is what the nearest equivalent charges on Shopify or Magento today. It is context for a pricing decision, not the decision.


Generated from the commerce plan. See docs/COMMERCE-PLAN.md for the full catalogue and ../../AI-GUIDE.md for how to work on this repository.