# الفواتير في Filament: فواتير بصيغة PDF وإرسال بالبريد ومدفوعات وعملات متعددة

> تضيف tomatophp/filament-invoices الفواتير والمدفوعات وخمسة قوالب PDF والإرسال بالبريد والعملات المتعددة إلى لوحة Filament 5. ثبّتها واربط نماذجك وأنشئ فاتورة من الكود.

*2026-10-12T12:32:33Z*

معظم تطبيقات Laravel التي تحاسب عملاءها تنتهي بجدول فواتير نصف مكتمل، وصفحة PDF لا يريد أحد أن يقترب منها، وكلاس بريد يرفقها. الإضافة `tomatophp/filament-invoices` هي هذا الجزء كله، جاهزًا، داخل لوحة Filament.

**الإجابة المختصرة:** شغّل `composer require tomatophp/filament-invoices` ثم `php artisan filament-invoices:install`، وسجّل `FilamentInvoicesPlugin` في لوحتك، ثم حدّد النماذج التي تُصدر الفواتير والتي تستقبلها. تحصل على فواتير ومدفوعات بأنواع وعملات وحالات متعددة، وخمسة قوالب PDF، وإرسال بالبريد مع ملف PDF مرفق، وودجات، وFacade لإنشاء الفواتير من الكود. الإضافة مجانية بترخيص MIT.

## ماذا تحصل

- إنشاء الفواتير وإدارتها وطباعتها
- مدفوعات على الفواتير، مع إيصال دفع قابل للطباعة
- أنواع وعملات وحالات متعددة للفواتير، مع مدير للحالات
- فواتير من أي نموذج ولأي نموذج (علاقات morph)
- ودجات للفواتير في لوحة المعلومات
- تصدير PDF عبر DomPDF، وتصدير عدة فواتير دفعة واحدة كملف ZIP
- خمسة قوالب جاهزة: Classic وModern وMinimal وProfessional وCreative
- إرسال بالبريد مع مرفق PDF، من صفحة الفاتورة أو صف في الجدول أو لعدة فواتير معًا
- صفحة إعدادات للفواتير عبر Filament Settings Hub

## المتطلبات

| الإضافة | Filament | Laravel | PHP |
|--------|----------|---------|-----|
| 5.x | 5.x | 12.x – 13.x | 8.2+ |
| 4.x | 4.x | 11.x – 12.x | 8.2+ |
| 2.x | 3.x | 10.x – 11.x | 8.1+ |

## التثبيت

```bash
composer require tomatophp/filament-invoices
php artisan filament-invoices:install
```

سجّل الإضافة في `app/Providers/Filament/AdminPanelProvider.php`، وأضف `useSettingsHub()` إن أردت صفحة الإعدادات:

```php
->plugin(
    \TomatoPHP\FilamentInvoices\FilamentInvoicesPlugin::make()
        ->useSettingsHub()
)
```

وتحتاج صفحة الإعدادات إلى migration خاص بها:

```bash
php artisan vendor:publish --tag="filament-invoices-settings-migrations"
php artisan migrate
```

## حدّد من يصدر الفاتورة ولمن

الفاتورة دائمًا من نموذج إلى نموذج آخر، مثلًا من `Company` إلى `Account`. سجّل الاثنين في Service Provider:

```php
use TomatoPHP\FilamentInvoices\Facades\FilamentInvoices;
use TomatoPHP\FilamentInvoices\Services\Contracts\InvoiceFor;
use TomatoPHP\FilamentInvoices\Services\Contracts\InvoiceFrom;

public function boot()
{
    FilamentInvoices::registerFor([
        InvoiceFor::make(Account::class)->label('Account'),
    ]);
    FilamentInvoices::registerFrom([
        InvoiceFrom::make(Company::class)->label('Company'),
    ]);
}
```

بعدها يظهر مورد الفواتير في لوحتك.

## أنشئ فاتورة من الكود

عندما يُدفع طلب أو يتجدد اشتراك، فغالبًا تريد أن تُنشأ الفاتورة تلقائيًا. الـ Facade يفعل ذلك:

```php
use TomatoPHP\FilamentInvoices\Facades\FilamentInvoices;
use TomatoPHP\FilamentInvoices\Services\Contracts\InvoiceItem;

FilamentInvoices::create()
    ->for(Account::find(1))
    ->from(Company::find(1))
    ->date(now())
    ->dueDate(now()->addDays(7))
    ->items([
        InvoiceItem::make('Setup')->qty(1)->price(200),
        InvoiceItem::make('Monthly plan')->qty(2)->price(100)->discount(10)->vat(10),
    ])->save();
```

## PDF والبريد

صدّر ملف PDF من صفحة الفاتورة أو من صف في الجدول، أو صدّر عدة فواتير معًا كملف ZIP. وفي الكود، يولّد `PdfGenerator` الفاتورة بقالب معيّن، أو يعرضها في المتصفح، أو ينزّلها:

```php
use TomatoPHP\FilamentInvoices\Services\PdfGenerator;

return app(PdfGenerator::class)->download($invoice, 'professional');
```

تصل الرسائل ومعها ملف PDF مرفق. العنوان والنص قالبان تضبطهما في صفحة الإعدادات، مع متغيرات مثل `{uuid}` و`{customer_name}` و`{total}` و`{currency}` و`{due_date}`. وفي الصفحة نفسها بيانات شركتك، والعملة الافتراضية، ونسبة الضريبة، ومدة السداد، والقالب الافتراضي، وحجم الورق (A4 أو Letter أو Legal).

تريد تصميمك الخاص؟ سجّل كلاس قالب يرث `AbstractTemplate` عبر `TemplateFactory::register('my-template', MyTemplate::class)`.

## حدود بصراحة

- **هي فواتير، وليست نظامًا محاسبيًا.** لا يوجد دفتر أستاذ ولا إقرارات ضريبية ولا تسوية بنكية. إن احتجت إليها، فأرسل هذه الفواتير إلى نظامك المحاسبي.
- **تحصيل المدفوعات مسؤوليتك.** تسجّل الإضافة المدفوعات على الفواتير، أما خصم المبلغ من البطاقة فهو عمل بوابة الدفع.
- **قواعد الفوترة الإلكترونية تختلف من بلد لآخر.** إن كان بلدك يفرض فوترة إلكترونية حكومية، فتحقق من هذا المتطلب بشكل منفصل قبل الاعتماد على ملفات PDF هذه.

## الأسئلة الشائعة

### هل توجد إضافة فواتير مجانية لـ Filament؟
نعم. الإضافة `tomatophp/filament-invoices` مجانية ومفتوحة المصدر بترخيص MIT، وتدعم Filament 3 و4 و5.

### هل تدعم فواتير Filament أكثر من عملة؟
نعم. تدعم الإضافة عملات وأنواعًا وحالات متعددة، وتضبط صفحة الإعدادات العملة الافتراضية.

### هل أستطيع إرسال الفاتورة بالبريد مع ملف PDF؟
نعم. ترسلها من صفحة الفاتورة أو من صف في الجدول أو لعدة فواتير معًا، ويُرفق ملف PDF. والعنوان والنص قالبان بمتغيرات.

### هل أستطيع تغيير شكل ملف PDF للفاتورة؟
نعم. اختر أحد القوالب الخمسة الجاهزة، أو سجّل كلاس قالب خاصًا بك عبر `TemplateFactory`.

## الخطوة التالية

- [صفحة الإضافة](https://tomatophp.com/ar/plugins/filament-invoices) · [GitHub](https://github.com/tomatophp/filament-invoices)
- [لوحة تحكم Laravel في يوم واحد مع Filament 5 وTomatoPHP](https://tomatophp.com/ar/blog/laravel-admin-panel-in-a-day-filament-tomatophp)

تبني نظام فوترة داخل منتج SaaS بـ Laravel وتريده مبنيًا بشكل صحيح؟ أقبل هذا العمل، بما فيه العمل باسم الوكالات (White-Label). اطّلع على [تطوير Laravel بنظام White-Label](https://fadymondy.com/ar/services/white-label-laravel-filament?utm_source=tomatophp&utm_medium=referral&utm_campaign=seo-content-oct26).

---

Source: https://tomatophp.com/ar/blog/filament-invoices-pdf-email-multi-currency
