proovit/laravel-billing
Composer 安装命令:
composer require proovit/laravel-billing
包简介
Laravel 13 billing package for invoices, quotes, payments, credit notes, public invoice sharing, PDF rendering, and API-driven billing workflows.
README 文档
README
Laravel 13 billing package for invoices, quotes, payments, credit notes, public invoice sharing, PDF rendering, and API-driven billing workflows.
Need to certify invoices, keep a proof trail, or publish business evidence online? See ProovIT.
What this package gives you
- Eloquent models with a stable
uuid_identifierroute key - Single-action HTTP controllers grouped by concern
- Form requests and JSON resources split by domain
- Draft, finalize, payment, credit note, quote, and quote-to-invoice flows
- A PDF pipeline that works with Eloquent models or with plain DTOs
- Optional database-backed mode or fluent document builder mode
- Configurable storage disk and directory for generated invoice files
- Translatable labels and package translations
- Optional Scramble documentation at
docs/api/billing - Optional signed public sharing for invoices
Requirements
- PHP 8.3
- Laravel 13
- Composer
Install
composer require proovit/laravel-billing php artisan billing:install
billing:install is recommended, not required.
You can skip it if you want to start with the package defaults and adjust the config later.
The installer can:
- enable or disable the database-backed stack
- enable or disable the API
- install and configure Sanctum if you want
auth:sanctum - publish package resources when requested
- enable or disable signed public invoice links
- enable or disable Scramble documentation
If you skip the installer:
- the package still works with its defaults
- you can publish config, views, translations, and routes later
- you can keep the package database-backed or document-builder-only through config changes
Quick examples
Full stack
config([ 'billing.database.enabled' => true, 'billing.api.enabled' => true, 'billing.api.auth_middleware' => ['auth:sanctum'], 'billing.public_shares.enabled' => true, 'billing.docs.enabled' => true, ]);
Fluent document builder
$document = \Proovit\Billing\Builders\Documents\InvoiceDocumentBuilder::make() ->withSeller([ 'legal_name' => 'ProovIT SAS', 'display_name' => 'ProovIT', 'address' => ['line1' => '1 rue de Paris', 'city' => 'Paris', 'country' => 'FR'], ]) ->withCustomer([ 'legal_name' => 'Acme Ltd', 'reference' => 'ACME-001', 'billing_address' => ['line1' => '2 avenue des Tests', 'city' => 'Lyon', 'country' => 'FR'], ]) ->addLine([ 'description' => 'Consulting', 'quantity' => '1', 'unit_price' => '250.00', 'tax_rate' => '20', ]) ->withNumber('INV-2026-0001') ->withIssuedAt(now()) ->withDueAt(now()->addDays(30)) ->withLocale('en') ->validate() ->build(); $pdf = app(\Proovit\Billing\Actions\Invoices\GenerateInvoicePdfAction::class)->handle($document);
If you already have a fully normalized draft and totals object, you can still build the immutable document DTO directly with InvoiceDocumentData::fromDraft(...).
The fluent builder is the recommended public API for applications that do not want to pass a large DTO object around by hand.
Documentation
Use cases
- Customers
- Invoices
- Quotes
- PDF rendering
- Sample PDF output
- Web preview and print
- Document builder mode
- Storage
- Public sharing
- Demo data
- Events
- Scramble documentation
Repository layout
src/Actions/Customersfor customer workflowssrc/Actions/Invoicesfor invoice, payment, credit note, and PDF workflowssrc/Actions/Quotesfor quote workflows and quote conversionsrc/Http/Controllers/Apifor API controllerssrc/Http/Requests/Apifor API validationsrc/Http/Resources/Apifor JSON responsessrc/Http/Controllers/Webfor web preview and public sharing controllersdatabase/factoriesfor package factoriesdatabase/seedersfor demo and sample data seedersresources/views/pdffor the PDF HTML viewresources/views/webfor browser preview and print viewsdocs/for package documentationMakefilefor common local and Sail-based tasks
Release notes
1.0.7
- Backfilled UUID identifiers for existing billing records so historical invoices, quotes, payments, and related resources keep resolving Filament URLs
1.0.6
- Improved Scramble response schemas so API documentation shows the real JSON payloads
- Added clearer API and documentation wiring for the billing panel
1.0.1
- Added a downloadable sample PDF generated from the default invoice Blade views
- Refined the classic invoice layout and page spacing
1.0.0
- Added optional database-backed and fluent document builder billing modes
- Added PDF document DTOs and offline PDF generation support
- Added configurable invoice storage disk and directory
- Added optional resource publication in the installer
- Added Scramble grouping by concern
- Added English docs with user-facing examples
- Added web preview and print views for invoices
- Added package factories and a demo seeder
- Added a package-local Makefile for QA and Sail workflows
Notes
- HTTP access uses
uuid_identifier, not the numeric primary key. - Controllers are single-action
__invokeclasses. - Scramble docs are exposed on a configurable path so they do not overwrite the host application's docs.
devis the integration branch; tags are cut frommain.- Core and Filament releases should share the same tag when they are released together.
- If only
filament-billingchanges, use the fourth numeric segment for plugin-only tags. - AI, MCP, and Filament documentation belongs to their respective packages, not this one.
- The package
Makefileonly covers package-local QA; sandbox commands live at the repository root.
Release notes
1.0.7
- Backfilled UUID identifiers for existing billing records so historical invoices, quotes, payments, and related resources keep resolving Filament URLs
Acknowledgements
The package builds on the Laravel ecosystem and related tooling:
proovit/laravel-billing 适用场景与选型建议
proovit/laravel-billing 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 18 次下载、GitHub Stars 达 1, 最近一次更新时间为 2026 年 04 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 proovit/laravel-billing 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 proovit/laravel-billing 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 18
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 43
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-08