webrteu / invoicing
Invoicing integration package for the Auditor application.
1.0.1
2026-02-22 03:47 UTC
Requires
- php: ^8.2
- dompdf/dompdf: ^3.1
- filament/filament: ^3.3
- illuminate/support: ^12.0
- laravel/framework: ^12.0
README
Acest pachet Laravel oferă funcționalități complete pentru gestionarea facturilor și emiterea acestora (proforme și facturi fiscale). Include o structură modulară cu logica extrasă prin InvoiceService și resursa de administrare Filament (InvoiceResource).
Funcționalități
- Modele Eloquent:
Invoicecu o structură extinsă pentru legarea cu alte modele din aplicație (e.g.Order,Client). - Logica de business pentru emiterea de Proforme (
generateProforma) și Facturi Fiscale (generateFiscal). - Integrare prin panou de administrator Filament pentru vizualizarea și descărcarea PDF-urilor emise.
- Suport pentru trimiterea către aplicații de contabilitate externe (precum SmartBill).
- Logică internă de management PDF (generare HTML din blade, stocare, renderizare cu dompdf).
Instalare
- Instalează pachetul folosind Composer:
composer require webrteu/invoicing
- Publică fișierele de configurare și migrațiile necesare:
php artisan vendor:publish --tag=invoicing-config php artisan vendor:publish --tag=invoicing-migrations
- Rulează migrațiile pentru a adăuga tabela necesară facturilor:
php artisan migrate
- (Opțional) Publică vizualizările pentru șablonul PDF-urilor (dacă este necesar să modifici designul):
php artisan vendor:publish --tag=invoicing-views
- Adaugă resursa specifică Filament în panoul tău (ex. în
app/Providers/Filament/AdminPanelProvider.php):
use WeBRTeu\Invoicing\Filament\Resources\InvoiceResource; // ... ->resources([ InvoiceResource::class, ])
Utilizare (Exemplu)
Serviciul poate fi utilizat injectându-l prin dependency injection sau resolvend prin helper-ul app():
use WeBRTeu\Invoicing\Services\InvoiceService; use App\Models\Order; $order = Order::find(1); $invoiceService = app(InvoiceService::class); // Generează o factură fiscală $fiscalInvoice = $invoiceService->generateFiscal($order, 'ro'); // Obține conținutul fișierului PDF $pdfContent = $invoiceService->getPdfContent($fiscalInvoice);
Dependențe și Configurare
- Pachetul folosește configurările din
config/invoicing.phppentru a stabili detaliile companiei emitente în header-ul PDF-ului. - Modelele precum
Ordertrebuie să expună date necesare facturării sau poți adapta parametri în via configurare. - Pentru generare prin terți colaborează perfect cu pachete auxiliare externe (e.g.,
webrteu/smartbill).