Billing audit trail exists
Why it matters
Billing events are financial records. When a subscription is created, upgraded, or canceled and nothing is logged, the only audit history is Stripe's own event log — which you can query through the Stripe Dashboard but cannot correlate with your application's user IDs, feature usage, or support tickets. SOC 2 CC7.2 (System Monitoring) and ISO 25010 operability both require that significant system events produce observable records. Without application-level billing logs, diagnosing a customer complaint about an incorrect charge or missed downgrade requires manual cross-referencing between Stripe and your database.
Severity rationale
Low because missing billing logs don't create immediate security or data integrity risk, but significantly impair incident investigation and financial reconciliation.
Remediation
Add structured logging to every significant billing event in your webhook handler — both success and failure events. Application logs are required; Stripe's event log alone does not satisfy this check.
case 'customer.subscription.updated': {
const subscription = event.data.object
console.log(JSON.stringify({
event: 'billing.subscription_updated',
stripe_event_id: event.id,
customer_id: subscription.customer,
status: subscription.status,
plan: subscription.items.data[0]?.price.lookup_key,
timestamp: new Date().toISOString()
}))
// handle the event
}
For a durable audit trail, insert a row into a billing_events table on each significant event. This enables SQL queries like "show me all plan changes for user X in the last 90 days" without touching the Stripe Dashboard.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Billing & Payments Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- soc2:2017 · CC7.2 — The entity monitors system components for anomalies that indicate malicious acts
- iso-25010:2011 · operability — Operability — structured billing audit logs support operational diagnostics
Taxons
History
- 2026-04-18·v1.0.0·Initial import from saas-billing·automated