Module Facturation & Devis pour Larapen
Dernière : v1.0.5 6 novembre 2026 4 versions
Retour au produit
  1. 1.0.5

    Dernière
    • Security: an invoice payment is recorded only once, even when the return page and the webhook arrive together, and a paid, cancelled or refunded invoice is left alone
    • Improvements & Bugs fixed.
    • Payment methods per add-on: list with PaymentService::gatewaysFor() and validate with PaymentMethodAvailableRule (core 1.0.17)
    • Migrated billing_customers.billing_address / shipping_address JSON columns into the core polymorphic addresses table (type = billing|shipping) and dropped the legacy JSON columns
    • BillingCustomer now exposes addresses() / billingAddress() / shippingAddress() relations backed by App\Models\Address instead of JSON blobs
    • Customer display name now resolves as company_name, then contact_name, then the linked user's name, fixing stale names copied at customer-creation time
    • Standardised inconsistent legacy address keys (address_line1 / line1 / street, country / country_code) onto the core address columns, fixing previously broken invoice / credit-note PDF address blocks
    • Made billing_customers.contact_name / contact_email nullable; when empty they fall back to the linked user's name / email / phone
    • Changed billing_invoices.issue_date from DATE to DATETIME so invoices capture the exact time of issue (existing rows default to 00:00:00); the create/edit forms now use a datetime-local picker normalized from the admin display timezone, and invoice lists show a relative issue date with the full datetime on hover
    • Added source_type / source_id columns and a (source_type, source_id) unique index to billing_invoices for webhook idempotency
    • Made billing_invoices.created_by nullable so invoices generated from webhooks (no authenticated user) can be persisted
    • Listens to App\Events\PaymentSucceeded dispatched by every Payable model and auto-generates a paid BillingInvoice with line items via the new BillableForInvoice contract
    • Added InvoicePaidReceiptNotification that emails the customer the invoice as a PDF attachment plus a link to the public invoice URL
    • Added two admin toggles on the billing settings page: 'Auto-Generate Invoices' (billing_auto_invoice_enabled) and 'Email PDF Receipt' (billing_auto_send_paid_invoice_pdf)
    • Re-seeded the billing permission set and granted it to the admin role to cover installs that may be missing entries