v0.3.0
Adds invoice line grouping and an opt-in consolidated render mode.
New:
- line_group on every charge and invoice line (the owning subscription item id), so a custom invoice driver can group a product with its configurable options and addons. Account-level charges stay null.
- LineKind::isBaseLine() to tell a product's parent line from its option/addon/setup/credit sub-items.
- Opt-in consolidated mode: config('meteric.invoice.line_mode') = itemized (default) or consolidated. Consolidated writes one line per product (amount summed, options/addons as sub-items in the description and in line metadata['items']); totals match the itemized invoice. The lexoffice driver inherits it.
- Custom drivers can render itemized, nested (numbered sub-positions like 1a/1b with their own amount and tax), or consolidated from the same data. Documented under Invoicing.
Requires PHP 8.3+, Laravel 12, PostgreSQL.