{"id":17673315,"url":"https://github.com/firebed/aade-mydata","last_synced_at":"2025-04-12T22:39:25.904Z","repository":{"id":42454368,"uuid":"435287838","full_name":"firebed/aade-mydata","owner":"firebed","description":"Interface for ΑΑΔΕ myDATA invoicing REST API. It handles all the boilerplate code for sending, cancelling and requesting invoices.","archived":false,"fork":false,"pushed_at":"2025-03-16T02:08:47.000Z","size":621,"stargazers_count":86,"open_issues_count":0,"forks_count":25,"subscribers_count":14,"default_branch":"5.x","last_synced_at":"2025-03-30T06:01:52.236Z","etag":null,"topics":["aade","mydata","php8","restapi"],"latest_commit_sha":null,"homepage":"https://docs.invoicemaker.gr/getting-started","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firebed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-05T21:53:57.000Z","updated_at":"2025-03-29T17:59:58.000Z","dependencies_parsed_at":"2024-03-04T07:40:43.052Z","dependency_job_id":"bf219863-51bd-4e08-acc2-370dab06ace7","html_url":"https://github.com/firebed/aade-mydata","commit_stats":{"total_commits":203,"total_committers":6,"mean_commits":"33.833333333333336","dds":0.08866995073891626,"last_synced_commit":"0c36813d031882a49bc19f884085616f6f669b6f"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebed%2Faade-mydata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebed%2Faade-mydata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebed%2Faade-mydata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firebed%2Faade-mydata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firebed","download_url":"https://codeload.github.com/firebed/aade-mydata/tar.gz/refs/heads/5.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248643044,"owners_count":21138353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aade","mydata","php8","restapi"],"created_at":"2024-10-24T05:14:59.724Z","updated_at":"2025-04-12T22:39:25.884Z","avatar_url":"https://github.com/firebed.png","language":"PHP","readme":"# ΑΑΔΕ - AADE myDATA\n\n[![Latest Version on Packagist](https://img.shields.io/packagist/v/firebed/aade-mydata.svg?style=flat-square)](https://packagist.org/packages/firebed/aade-mydata)\n[![Total Downloads](https://poser.pugx.org/firebed/aade-mydata/downloads)](https://packagist.org/packages/firebed/aade-mydata)\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/firebed/aade-mydata/php.yml)\n[![PHP Version Require](https://poser.pugx.org/firebed/aade-mydata/require/php)](https://packagist.org/packages/firebed/aade-mydata)\n[![License](https://poser.pugx.org/firebed/aade-mydata/license)](LICENSE.md)\n\n## Support This Project\n\nIf you find this project useful, you can show your appreciation and support by giving it a ⭐. Your support motivates us to work harder and make even better and more useful tools!\n\n## Introduction\n\nThis package provides an expressive, fluent interface to ΑΑΔΕ myDATA invoicing REST API. It handles almost all the boilerplate code for sending, cancelling and requesting invoices.\n\n## Documentation\n\n- Official documentation is available 👉 [on our documentation site](https://docs.invoicemaker.gr/getting-started)\n- myDATA webpage: [AADE myDATA](https://www.aade.gr/mydata)\n- myDATA documentation (PDF): [AADE myDATA REST API v1.0.10](https://www.aade.gr/sites/default/files/2024-12/myDATA%20API%20Documentation%20v1%20.0.10_official_erp.pdf)\n\n## Requirements\n\nIn order to use this package, you will need first a `aade id` and a `Subscription key`. You can get these credentials by signing up to mydata rest api.\n\n- Development: [Sign up to mydata development api](https://mydata-dev-register.azurewebsites.net/)\n- Production: [Sign up to mydata production api](https://www.aade.gr/mydata)\n- guzzlehttp/guzzle \u003e= 7.0\n\n| Version | PHP | myDATA  | Support |\n|---------|-----|---------|---------|\n| ^v5.x   | 8.1 | v1.0.10 | Active  |\n| ^v4.x   | 8.1 | v1.0.8  | Ended   |\n| ^v3.x   | 8.1 | v1.0.7  | Ended   |\n| ^v2.x   | 8.1 | v1.0.5  | Ended   |\n| ^v1.x   | 8.0 | v1.0.3  | Ended   |\n\n## Installation\n\nTo install through Composer, run the following command:\n\n```\ncomposer require firebed/aade-mydata\n```\n\n## Setup\n\nOnce you have the user id and the subscription key use the following code to set the environment and the credentials:\n\n```php\n$env = \"dev\"; // For production use \"prod\"\n$user_id = \"your-user-id\";\n$subscription_key = \"your-subscription-key\";\n\nMyDataRequest::setEnvironment($env);\nMyDataRequest::setCredentials($user_id, $subscription_key);\n```\n\nFor development, you may need to disable client verification if you are not using https:\n\n```php\nMyDataRequest::verifyClient(false);\n```\n\n## Send invoice example\n\n```php\nuse Firebed\\AadeMyData\\Http\\SendInvoices;\nuse Firebed\\AadeMyData\\Models\\Invoice;\nuse Firebed\\AadeMyData\\Exceptions\\MyDataException;\n\n// Prepare your invoices, for simplicity we will use an array of empty\n// Invoice objects. You should populate these objects with your own data.\n$invoices = [new Invoice(), new Invoice()];\n$sender = new SendInvoices();\n\ntry {\n    $responses = $sender-\u003ehandle($invoices);\n    \n    $errors = [];\n    foreach ($responses as $response) {\n        if ($response-\u003eisSuccessful()) { \n            // This invoice was successfully sent to myDATA.     \n            // Each response has an index value which corresponds\n            // to the index (-1) of the $invoices array.\n            \n            $index = $response-\u003egetIndex();\n            $uid = $response-\u003egetInvoiceUid();\n            $mark = $response-\u003egetInvoiceMark();\n            $cancelledByMark = $response-\u003egetCancellationMark();\n            $qrUrl = $response-\u003egetQrUrl();\n    \n            // If you need to relate the response to your local invoice\n            // $invoice = $invoices[$index - 1];    \n    \n            print_r(compact('index', 'uid', 'mark', 'cancelledByMark', 'qrUrl'));\n        } else {\n            // There were some errors for a specific invoice. See errors for details.\n            foreach ($response-\u003egetErrors() as $error) {\n                $errors[$response-\u003egetIndex() - 1][] = $error-\u003egetCode() . ': ' . $error-\u003egetMessage();\n            }\n        }\n    }\n} catch (MyDataException $e) {\n    // There was a communication error. None of the invoices were sent.\n    echo \"Σφάλμα επικοινωνίας: \" . $e-\u003egetMessage();\n}\n```\n\n## Available methods\n\n| Method                                                                                      | Availability       |\n|---------------------------------------------------------------------------------------------|--------------------|\n| [Validate VAT Number](http://docs.invoicemaker.gr/http/search-vat)                          | :white_check_mark: |\n| [SendInvoices](http://docs.invoicemaker.gr/http/send-invoices)                              | :white_check_mark: |\n| [CancelInvoice](http://docs.invoicemaker.gr/http/cancel-invoice)                            | :white_check_mark: |\n| [RequestDocs](http://docs.invoicemaker.gr/http/request-docs)                                | :white_check_mark: |\n| [RequestTransmittedDocs](http://docs.invoicemaker.gr/http/request-transmitted-docs)         | :white_check_mark: |\n| [RequestMyIncome](http://docs.invoicemaker.gr/http/request-my-income)                       | :white_check_mark: |\n| [RequestMyExpenses](http://docs.invoicemaker.gr/http/request-my-expenses)                   | :white_check_mark: |\n| [RequestVatInfo](http://docs.invoicemaker.gr/http/request-vat-info)                         | :white_check_mark: |\n| [RequestE3Info](http://docs.invoicemaker.gr/http/request-e3-info)                           | :white_check_mark: |\n| [SendPaymentsMethod](http://docs.invoicemaker.gr/http/send-payments-method)                 | :white_check_mark: |\n| [SendIncomeClassification](http://docs.invoicemaker.gr/http/send-income-classification)     | :white_check_mark: |\n| [SendExpensesClassification](http://docs.invoicemaker.gr/http/send-expenses-classification) | :white_check_mark: |\n\n## Digital Client (Car rental, parking/wash, workshops)\n\n| Method                                                                        | Availability |\n|-------------------------------------------------------------------------------|--------------|\n| [SendClient](http://docs.invoicemaker.gr/http/dcl/SendClient)                 | In progress  |\n| [UpdateClient](http://docs.invoicemaker.gr/http/dcl/UpdateClient)             | In progress  |\n| [RequestClients](http://docs.invoicemaker.gr/http/dcl/RequestClient)          | In progress  |\n| [CancelClient](http://docs.invoicemaker.gr/http/dcl/CancelClient)             | In progress  |\n| [ClientCorrelations](http://docs.invoicemaker.gr/http/dcl/ClientCorrelations) | In progress  |\n\n## Upgrade Guide\n\nIf you are upgrading from a previous version, please see [upgrade guide](docs/upgrade-guide.md)\n\n## Testing\n\n```shell\ncomposer test\n```\n\n## Contributing\n\nPlease see [CONTRIBUTING](http://docs.invoicemaker.gr/contributing) for details.\n\n## Licence\n\nAADE myDATA is licenced under the [MIT License](LICENSE.md).\n\nCopyright 2022 \u0026copy; Okan Giritli\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirebed%2Faade-mydata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirebed%2Faade-mydata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirebed%2Faade-mydata/lists"}