diff --git a/docs/index.md b/docs/index.md index e09ce1e..418c438 100644 --- a/docs/index.md +++ b/docs/index.md @@ -28,6 +28,8 @@ | Παραδείγματα παραστατικών | Δελτίο Αποστολής | invoices/delivery-invoice | | Παραδείγματα παραστατικών | Πιστωτικό Τιμολόγιο | invoices/credit-invoice | | Παραδείγματα παραστατικών | Απόδειξη Λιανικής | invoices/retail-invoice | +| Παραδείγματα παραστατικών | Απόδειξη Παροχής Υπηρεσιών | invoices/retail-service-invoice | +| Παραδείγματα παραστατικών | Πιστωτικό Στοιχείο Λιανικής | invoices/credit-retail-invoice | | Παραδείγματα παραστατικών | Ενδοκοινοτικό Τιμολόγιο | invoices/foreign-invoice | | Παραδείγματα παραστατικών | Ολοκληρωμένο Παράδειγμα | invoices/complete-example | | Τύποι δεδομένων | Invoice | types/invoice-type | diff --git a/docs/invoices/credit-retail-invoice.md b/docs/invoices/credit-retail-invoice.md new file mode 100644 index 0000000..59fcebf --- /dev/null +++ b/docs/invoices/credit-retail-invoice.md @@ -0,0 +1,77 @@ +# Παράδειγμα: Πιστωτικό Στοιχείο Λιανικής + +## Αρχικοποίηση του εκδότη παραστατικού + +```php +use Firebed\AadeMyData\Models\Issuer; + +$issuer = new Issuer(); +$issuer->setVatNumber('888888888'); +$issuer->setCountry('GR'); +$issuer->setBranch(1); +``` + +## Αρχικοποίηση του λήπτη παραστατικού + +> [!CAUTION] +> Όπως και στις Αποδείξεις Λιανικής, τα Πιστωτικά Λιανικής είναι μη αντικριζόμενα παραστατικά και δεν απαιτούν την αναγραφή του λήπτη + +## Αρχικοποίηση της επικεφαλίδας παραστατικού + +```php +use Firebed\AadeMyData\Models\InvoiceHeader; +use Firebed\AadeMyData\Enums\InvoiceType; + +$header = new InvoiceHeader(); +$header->setSeries('A'); +$header->setAa(101); +$header->setIssueDate(date('Y-m-d')); +$header->setInvoiceType(InvoiceType::TYPE_11_4); +$header->setCurrency('EUR'); +``` + +## Αρχικοποίηση των τρόπων πληρωμής + +```php +use Firebed\AadeMyData\Models\PaymentMethodDetail; +use Firebed\AadeMyData\Enums\PaymentMethod; + +$payment = new PaymentMethodDetail(); +$payment->setType(PaymentMethod::METHOD_3); +$payment->setAmount(1000); +``` + +## Αρχικοποίηση των προϊόντων / υπηρεσιών + +```php +use Firebed\AadeMyData\Models\InvoiceDetails; +use Firebed\AadeMyData\Enums\VatCategory; +use Firebed\AadeMyData\Enums\IncomeClassificationType; +use Firebed\AadeMyData\Enums\IncomeClassificationCategory; + +$row = new InvoiceDetails(); +$row->setLineNumber(1); +$row->setNetValue(1000); +$row->setVatCategory(VatCategory::VAT_1); +$row->setVatAmount(240); +$row->addIncomeClassification( + IncomeClassificationType::E3_561_003, + IncomeClassificationCategory::CATEGORY_1_3, + 1000 +); +``` + +## Ολοκλήρωση του παραστατικού + +```php +use Firebed\AadeMyData\Models\Invoice; + +$invoice = new Invoice(); +$invoice->setIssuer($issuer); +$invoice->setInvoiceHeader($header); +$invoice->addPaymentMethod($payment); +$invoice->addInvoiceDetails($row); + +// Αρχικοποιεί τη σύνοψη του παραστατικού +$invoice->summarizeInvoice(); +``` diff --git a/docs/invoices/retail-service-invoice.md b/docs/invoices/retail-service-invoice.md new file mode 100644 index 0000000..549f308 --- /dev/null +++ b/docs/invoices/retail-service-invoice.md @@ -0,0 +1,78 @@ +# Παράδειγμα: Απόδειξη Παροχής Υπηρεσιών + + + +```php +use Firebed\AadeMyData\Models\Issuer; + +$issuer = new Issuer(); +$issuer->setVatNumber('888888888'); // Ο ΑΦΜ της επιχείρησής σας +$issuer->setCountry('GR'); +$issuer->setBranch(1); +``` + +## Αρχικοποίηση του λήπτη παραστατικού + +> [!CAUTION] +> Οι Αποδείξεις Παροχής Υπηρεσιών είναι μή αντικριζόμενα παραστατικά και δεν απαιτούν την αναγραφή του λήπτη του παραστατικού. + +## Αρχικοποίηση της επικεφαλίδας παραστατικού + +```php +use Firebed\AadeMyData\Models\InvoiceHeader; +use Firebed\AadeMyData\Enums\InvoiceType; + +$header = new InvoiceHeader(); +$header->setSeries('A'); +$header->setAa(101); +$header->setIssueDate(date('Y-m-d')); +$header->setInvoiceType(InvoiceType::TYPE_11_2); +$header->setCurrency('EUR'); +``` + +## Αρχικοποίηση των τρόπων πληρωμής + +```php +use Firebed\AadeMyData\Models\PaymentMethodDetail; +use Firebed\AadeMyData\Enums\PaymentMethod; + +$payment = new PaymentMethodDetail(); +$payment->setType(PaymentMethod::METHOD_3); +$payment->setAmount(1000.00); +$payment->setPaymentMethodInfo('Payment Method Info...'); +``` + +## Αρχικοποίηση των προϊόντων + +```php +use Firebed\AadeMyData\Models\InvoiceDetails; +use Firebed\AadeMyData\Enums\VatCategory; +use Firebed\AadeMyData\Enums\IncomeClassificationType; +use Firebed\AadeMyData\Enums\IncomeClassificationCategory; + +$row = new InvoiceDetails(); +$row->setLineNumber(1); +$row->setNetValue(1000); +$row->setVatCategory(VatCategory::VAT_1); +$row->setVatAmount(240); +$row->addIncomeClassification( + IncomeClassificationType::E3_561_003, + IncomeClassificationCategory::CATEGORY_1_3, + 1000 +); +``` + +## Ολοκλήρωση του παραστατικού + +```php +use Firebed\AadeMyData\Models\Invoice; + +$invoice = new Invoice(); +$invoice->setIssuer($issuer); +$invoice->setInvoiceHeader($header); +$invoice->addPaymentMethod($payment); +$invoice->addInvoiceDetails($row); + +// Αρχικοποιεί τη σύνοψη του παραστατικού +$invoice->summarizeInvoice(); +```