Files
2026-10-12 15:08:42 +01:00

23 lines
1.6 KiB
Markdown

# Phase 8 — Billing integrity audit (read-only)
This package adds **Billing Audit** to the SonarDesk administration sidebar at `/administration/sonardesk/billing-audit`.
## Included
- Subscription-linked licence completeness counts.
- Duplicate subscription identifiers (informational, not automatically errors).
- Duplicate webhook event identifiers.
- Unprocessed and failed webhook event counts, with a bounded list of recent errors.
- Same authentication, email verification and `manage-sonardesk-licensing` Gate as the existing pages.
## Installation
1. Commit/back up local modifications. Overlay the paths in this ZIP onto the ABSDev root. Merge the full sidebar Blade file if you have changed it since Phase 7.
2. Run `composer dump-autoload`, `php artisan optimize:clear`, and `php artisan route:list --path=administration/sonardesk -v`.
3. Sign in as an authorised administrator and open `/administration/sonardesk/billing-audit`.
4. Confirm local `licenses` and `license_webhook_events` tables exist from earlier licensing migrations.
## Explicit limitations
This is **not** a live Paddle connection or completed commerce integration. It does not contact Paddle, handle checkout, reconcile remote records, process webhooks, change customer identities, or alter billing. Existing production payment endpoints must remain unchanged.
## Follow-on work
Phase 9: staged Paddle checkout/webhook parity and idempotency tests. Phase 10: customer identity/account linking. Phase 11: downloads/releases and update feeds. Phase 12: unified frontend, end-to-end regression and controlled deployment.