Εισαγωγή
ΑΑΔΕ myDATA REST API
Το invoicemaker.gr παρέχει μια εκφραστική, ευέλικτη διεπαφή που έχει αναπτυχθεί με τη χρήση της γλώσσας PHP για την επικοινωνία με την εφαρμογή myDATA της Ανεξάρτητης Αρχής Δημοσίων Εσόδων (ΑΑΔΕ). Παρέχει μια εύκολη και γρήγορη λύση για την αποστολή και λήψη παραστατικών, ακύρωση παραστατικών, χαρακτηρισμός και λήψη εσόδων και εξόδων και λήψη αναφορών ΦΠΑ.
Σε ποιούς απευθύνεται;
Το invoicemaker.gr απευθύνεται σε όλους τους φορείς που έχουν υποχρέωση να αποστέλλουν παραστατικά στην εφαρμογή myDATA της ΑΑΔΕ, όπως επιχειρήσεις, ελεύθερους επαγγελματίες, οργανισμούς και άλλους φορείς που εκδίδουν παραστατικά.
Το invoicemaker.gr απευθύνεται επίσης στους προγραμματιστές (developers) που θέλουν να ενσωματώσουν την υποστήριξη του myDATA στις εφαρμογές τους εντελώς δωρεάν.
Αν είστε ελεύθερος επαγγελματίας ή επιχείρηση και θέλετε να αποστέλλετε τιμολόγια στο myDATA, μπορείτε να εγγραφείτε στο invoicemaker.gr και να ξεκινήσετε αμέσως.
Γιατί το invoicemaker.gr;
Το invoicemaker.gr παρέχει μια εύκολη και γρήγορη λύση για την αποστολή και λήψη δεδομένων από το myDATA.
Open source
Το invoicemaker.gr είναι μια ανοικτού κώδικα λύση, που σημαίνει ότι αν είστε προγραμματιστής μπορείτε να το χρησιμοποιήσετε εντελώς δωρεάν.
Seamless integration
Το invoicemaker.gr διαχειρίζεται τη μετατροπή δεδομένων σε XML και από XML, επιτρέποντας την αποστολή και λήψη δεδομένων με τη χρήση αυτής της μορφής. Αυτό επιτρέπει την αλληλεπίδραση των δεδομένων με το myDATA με ευκολία και αξιοπιστία.
XML Structure
Η σωστή δομή και σειρά των πεδίων στο XML είναι απαραίτητες για το myDATA. Πριν από την έκδοση 4, η σειρά των πεδίων στο XML αντιστοιχούσε με τη σειρά που ο χρήστης συμπλήρωνε τα απαραίτητα πεδία. Ωστόσο, αυτό προϋποθέτει ότι ο χρήστης πρέπει να γνωρίζει εξαρχής με ποια σειρά πρέπει να συμπληρώσει τα πεδία ή να ανατρέχει συνεχώς στις οδηγίες για να εντοπίσει την απαιτούμενη κατάταξη πεδίων.
Από την έκδοση 4 και μετά, το invoicemaker.gr αναλαμβάνει αυτόματα τη σωστή δόμηση του XML, εξαλείφοντας την ανάγκη για επίπονη χειρονακτική παρέμβαση. Με αυτόν τον τρόπο, δε χρειάζεται να ανησυχείτε για τη δομή του XML ή τη σειρά των πεδίων.
Code completion
Το invoicemaker.gr παρέχει έναν πλήρη κατάλογο με όλες τις διαθέσιμες μεθόδους, τα οποία μπορείτε να χρησιμοποιήσετε για να αλληλεπιδράσετε με το myDATA. Κάθε μέθοδος είναι πλήρως τεκμηριωμένη κατά τις οδηγίες του myDATA, παρέχοντας πλήρη κατανόηση της λειτουργίας της.
Custom gateway
Every request is carried to the remote system by a Firebed\AadeMyData\Http\Gateway.
The default GuzzleGateway talks to the AADE myDATA REST API. Register your own
to route requests elsewhere (for example through an e-invoicing provider) without
touching the code that builds them:
use Firebed\AadeMyData\Http\MyDataRequest;
MyDataRequest::setGateway(new MyGateway()); // implements Gateway
MyDataRequest::setGateway(null); // back to the default
setGateway() is process-global and stays in place until it is replaced, so in a
long-running worker (Octane, queue daemon) a gateway registered for one flow keeps
carrying every later request in that process. When the gateway is chosen per tenant
or per flow, override a single request instead and leave the global one alone:
$response = (new SendInvoices())->usingGateway(new MyGateway())->handle($invoice);
A gateway receives the request object and the XML body. For SendInvoices and
SendPaymentsMethod the models are also available through SendInvoices::getInvoicesDoc()
and SendPaymentsMethod::getPaymentMethodsDoc(), so a provider gateway can read
attributes that never reach the myDATA XML. myDATA carries only the issue date and the
line's net value, while a provider needs more, so these stay on the models and off the XML:
-
InvoiceHeader::setIssueTime('hh:mm:ss')— the issue time; -
InvoiceDetails::setUnitPrice(3.333333)— the price per unit; -
InvoiceDetails::setDiscount(DiscountType::PERCENTAGE, 10.0)(orDiscountType::AMOUNT) — the line discount, read back withgetDiscountType()andgetDiscountValue(); -
setExtraFields(['key' => 'value'])/addExtraField('key', 'value')onInvoice,InvoiceDetailsandPaymentMethodDetail— free key/value pairs for the provider.