laravel-shop/database/migrations
Fabian @ Blax Software 47e7300e98 feat(cost): royalty / minimum-licence-fee margin (Aircademy-style)
Add ProductPrice.license_percent + license_min_amount and
ProductPrice::licenseFeePerPeriod() = max(percent% of unit_amount, minimum).
The shop amortizes it over the licence-term bracket (<=quarter / 6mo / 12mo),
so a monthly subscriber billed 3x in a quarter costs ONE quarterly fee — the
faithful reading of a per-unit, quarterly-accounted content licence.
subscriptionMetrics() now returns license_cost and net_mrr nets it out.

Additive: a null rule contributes 0. Covered by MrrMetricsTest; full suite green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-28 16:03:04 +02:00
..
2025_01_01_000001_create_blax_shop_tables.php fix: product_action_runs.action_id must be uuidMorphs (ProductAction is HasUuids) 2026-06-10 11:33:09 +02:00
2025_01_01_000002_create_product_price_tiers_table.php I loanable product type, tiered pricing, lifecycle events, host helpers 2026-05-15 10:27:59 +02:00
2025_01_01_000003_add_stripe_to_users_table.php I loanable product type, tiered pricing, lifecycle events, host helpers 2026-05-15 10:27:59 +02:00
2025_01_01_000004_create_blax_shop_subscriptions.php feat(subscriptions): Cashier-backed subscription lifecycle with product link + events 2026-06-02 11:40:15 +02:00
2026_01_01_000000_drop_stock_quantity_from_products.php BF edgecases, R structure, A tests 2026-05-18 13:05:38 +02:00
2026_01_01_000001_drop_in_stock_and_stock_status_from_products.php BF edgecases, R structure, A tests 2026-05-18 13:05:38 +02:00
2026_01_01_000002_add_max_per_cart_and_max_per_user_to_products.php IAM "max usage" feature 2026-05-19 14:01:52 +02:00
2026_01_01_000003_create_license_seats_table.php feat(seats): assignable license seats — buy N, assign/reassign/reclaim per user 2026-07-29 10:07:58 +02:00
2026_01_01_000004_add_cost_amount_to_product_prices.php feat(cost): per-price cost basis (COGS) + net-MRR margin 2026-08-28 15:12:42 +02:00
2026_01_01_000005_add_license_fee_to_product_prices.php feat(cost): royalty / minimum-licence-fee margin (Aircademy-style) 2026-08-28 16:03:04 +02:00