npm.io
2.0.1 • Published 2 weeks ago

aade-mydata-client

Licence
MIT
Version
2.0.1
Deps
6
Size
565 kB
Vulns
25
Weekly
0

aade-mydata-client

npm version license CI

Node.js Client for AADE myDATA (my Digital Accounting and Tax Application) REST API

Features

  HTTP requests to AADE myDATA REST API through axios
  XML to JSON conversion (currently myData API only supports response data in XML. The client parses these data in JSON format.)
  JSON to XML conversion (The client parses your JSON data to XML for the request body.)
  Javascript/Typescript support
  Compatible with myDATA REST API v2.0.1 (2026-03)
  Digital Goods Movement / Delivery Notes (Ψηφιακό Δελτίο Αποστολής)

Breaking changes since 1.x

  • AadeBookInvoiceType.paymentMethods and .taxesTotals are now wrapper objects ({ paymentMethodDetails: [...] } / { taxes: [...] }) instead of bare arrays, matching the actual myDATA XML schema (the old shape produced invalid XML for these two fields).
  • The dev (non-livemode) base URL changed from https://mydata-dev.azure-api.net to https://mydataapidev.aade.gr, per AADE's v2.0.1 documentation.

References

Official AADE documentation, all under the myDATA technical specifications page:

Installation

npm install -S aade-mydata-client

Usage

TypeScript
import { AADEmyDataClient } from 'aade-mydata-client';

class YourClass {

 public myDataClient: AADEmyDataClient;

 constructor() {

     this.myDataClient = new AADEmyDataClient({
         userId: 'YOUR_USER_ID',
         subscriptionKey: 'YOUR_SUBSCRIPTION_KEY',
         livemode: false // true for production API requests
     });

 }

 // Example call for RequestDocs
 async main(): Promise<void> {

     const invoices = await this.myDataClient.requestDocs({ mark: 0 });
     // this method returns Invoice[] for credentials you defined in the client above

 }

}
CommonJS
const AADEmyDataClient = require('aade-mydata-client').AADEmyDataClient;

const myDataClient = new AADEmyDataClient({
    userId: 'YOUR_USER_ID',
    subscriptionKey: 'YOUR_SUBSCRIPTION_KEY',
    livemode: false // true for production API requests
});

const main = async () => {

    try {

        const invoices = await myDataClient.requestDocs({ mark: 0 });
        console.log(invoices);

    } catch (error) {

    }

}

main();

See docs/EXAMPLES.md for a runnable snippet of every method, including the classification, VAT/E3 info, and delivery-note calls.

Methods

sendInvoices()

Submits one or more invoices, including corrected/amending

sendIncomeClassification()

Submits one or more income classifications for already-submitted invoices

sendExpensesClassification()

Submits one or more expenses classifications for already-submitted invoices

sendPaymentsMethod()

Submits one or more payment methods for already-submitted invoices

requestDocs()

Returns all documents submitted by other users concerning this account (as recipient)

requestTransmittedDocs()

Returns all documents submitted by this account

requestMyIncome() / requestMyExpenses()

Returns income / expenses information for a date range

requestVatInfo() / requestE3Info()

Returns detailed VAT / E3 information for a date range

cancelInvoice()

Method for cancelling an invoice

Ψηφιακό Δελτίο Αποστολής (digital goods movement / delivery notes)
registerTransfer()

Declares receipt of goods by a carrier — starts or hands off a shipment in transit

confirmDeliveryOutcome()

Declares the delivery outcome (by carrier) or confirms receipt (by recipient)

rejectDeliveryNote()

Declares total rejection of a shipment by the recipient

getDeliveryNoteStatus()

Returns the current status and full event history of a delivery note

generateGroupQRCode() / requestGroupQRDetails()

Groups multiple delivery notes' QR codes into one, and retrieves the individual QR codes back out of a group

Author

John Makridis
John Makridis

Contributors

If you want to contribute to this repository send me a message.

Keywords