labskai / shopmade-invoicing
Quotes, invoices, invoice PDFs and the client portal invoices tab for Shopmade.
Requires
- php: ^8.4
- barryvdh/laravel-dompdf: ^3.1
- laravel/framework: ^13.0
Requires (Dev)
None
Suggests
- labskai/shopmade-jobs: Link quotes and invoices to jobs.
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-28 23:07:47 UTC
README
Quotes, invoices and invoice PDFs for Shopmade core. MIT licensed.
What it adds
- Staff: Quotes and Invoices in the sidebar (Work group). Line-item quotes and invoices, turning an accepted quote into an invoice once, and PDF download. Writes follow each tool's
manage_roles(invoices: admins). - Dashboard: open quotes and unpaid invoices.
- Customer page: the customer's invoices and a New invoice button.
- Client portal: an Invoices tab, the PDF, and a "paid / will pay" mark the client can leave (staff still set the status).
- MCP:
invoices_list(read-only), filterable by status or unpaid.
With shopmade-jobs installed, quotes and invoices can link to a job and the job page gets New quote / New invoice buttons. Without it the job field and links stay hidden. The job must belong to the same customer. Install jobs before invoicing, or before its first migrate, so quotes.job_id and invoices.job_id get their foreign keys. If jobs comes later, the link still works (it is validated on save) but has no database constraint.
Install
composer require labskai/shopmade-invoicing php artisan migrate npm run build
PDFs use barryvdh/laravel-dompdf; the header shows APP_ORG_NAME.
Tests
cd ../shopmade-core composer config repositories.invoicing '{"type":"path","url":"../shopmade-invoicing"}' composer require "labskai/shopmade-invoicing:*@dev" vendor/bin/pest vendor/labskai/shopmade-invoicing/tests