RevenuePilot CRMDocumentation
v1.0.0 Changelog
Generated from docs/perfex-parity-revenueops-edge.md.

Perfex Parity + RevenueOps Edge Runbook

Scope

  • Support Ticket Center with departments, assignments, threaded messages, portal replies, SLA timestamps, canned replies, and mailbox sync.
  • Generic payment gateway sessions for stripe, paypal, mollie, authorize_net, and manual.
  • Payment transactions, gateway events, replay, refunds, delivery notes, project billing settings, and billable time/expense approvals.
  • Portal delivery notes and generic invoice payment links.

Deployment

  • STRIPE_PUBLIC_KEY, STRIPE_SECRET, STRIPE_WEBHOOK_SECRET
  • PAYPAL_CLIENT_ID, PAYPAL_CLIENT_SECRET, PAYPAL_WEBHOOK_ID
  • MOLLIE_API_KEY, MOLLIE_WEBHOOK_SECRET
  • AUTHORIZE_NET_LOGIN_ID, AUTHORIZE_NET_TRANSACTION_KEY, AUTHORIZE_NET_SIGNATURE_KEY
  • crm:sync-support-mailboxes
  • crm:sync-accounting-providers
  • crm:run-recurring-billing
  • crm:sync-payment-gateways
  • crm:retry-payment-events
  • crm:portal-readiness-check
  1. Set gateway references in .env or deployment secrets:
  2. Run php artisan migrate --force.
  3. Run php artisan optimize:clear.
  4. Use a real queue worker in production when recurring billing, gateway retries, and support mailbox sync are scheduled.
  5. Confirm scheduler/cron runs the parity commands:
  6. Open System Health and verify Perfex Parity Command Health has recent successful runs.

Staging Launch Checklist

  • Run php artisan db:seed --class=RoleAndPermissionSeeder --force after migrations so the admin role has support, delivery note, gateway, refund, project billing, and billable-time approvals.
  • Run php artisan crm:demo-seed before buyer demos. The demo seed provisions sandbox configs for stripe, paypal, mollie, and authorize_net, plus a portal-visible delivery note.
  • Verify System Health after running the five parity commands. A clean readiness check should show portal users, active gateways, active support mailboxes, active recurring expenses, portal delivery notes, and no warnings.
  • Production must use a real queue worker and scheduler before support mailbox sync, recurring billing, gateway retries, or portal readiness checks are considered launch-ready.

Safety

  • Live gateway checkout sessions require manage live payment gateways.
  • Gateway configs must be active before live sessions can be created.
  • Billable time must be approved before it can be invoiced.
  • Manual and sandbox gateway flows do not attempt external capture.
  • Webhook replay is idempotent and should not duplicate payments.

Sandbox QA

  1. Configure one sandbox gateway config per provider.
  2. Create an invoice and create a checkout session.
  3. Send a sandbox webhook payload with the session ID and invoice ID.
  4. Confirm one gateway event, one payment, and zero duplicate payments after replay.
  5. Create a delivery note from the invoice and confirm portal visibility is company-scoped.
  6. Create a support ticket from staff, reply from portal, and confirm first-class messages plus legacy meta.portal_replies.

Dark Mode Browser QA

  • Test desktop and mobile widths after toggling dark mode from a real admin session.
  • Inspect CRM dashboard, support ticket index/show, invoices, payment checkout preview, delivery notes, project billing/time approval, portal invoices, portal delivery notes, portal tickets, System Health, setup checklist, and Marketplace Pack.
  • Fail launch on white/light broken containers, unreadable fields, overlapping text, console errors, admin 403 on support tickets, duplicate payments after replay, or portal cross-company access.

Marketplace Proof Matrix

Buyer expectationRevenuePilot proof surface
Support/helpdeskSupport Ticket Center, mailbox sync, portal replies, SLA fields, canned replies
Billing and gatewaysGeneric sessions, gateway events, replay, refunds, recurring billing
Delivery proofInvoice-linked delivery notes with portal visibility and download
Projects, tasks, timeProject billing settings, billable time approval, approved expense invoicing
Portal maturityPortal invoices, payments, delivery notes, tickets, project visibility
ExtensibilityCustom fields, API resources, outbound webhooks
Operations confidenceSystem Health, command freshness, setup checklist, marketplace proof pack
RevenueOps edgeAds publishing, ROI attribution, campaign-to-cash reporting, dark-mode cockpit UX

Known Limits

  • The gateway layer is production-shaped and sandbox/local-simulation ready. Real provider SDK/API credential wiring and live capture verification are still required before production payment capture.
  • Mailbox import includes production settings, UID/message-id dedupe, and import logs, but remains simulation/configure-later by default until live mailbox credentials are configured and tested.
  • QuickBooks and Xero accounting sync include sandbox/config-ready jobs and external record mapping. Keep live sync disabled until OAuth, token refresh, customer, invoice, payment, and reconciliation evidence exists.