Billing

Understanding Waymaker Billing

Learn about Understanding Waymaker Billing in WaymakerOS.

LicensesSubscription

Learn how Waymaker's hybrid billing system works and why it's designed this way.

Billing Architecture Overview

Waymaker uses a hybrid billing system that combines Stripe's robust payment infrastructure with our custom organizational logic. This gives you the reliability of a proven payment system with the flexibility of multi-organization support.

How Data Flows

๐Ÿฆ What Stripe Handles

Stripe is our payment processor and handles all the secure financial operations:

  • ๐Ÿ’ณ Payment processing - Charging your cards securely
  • ๐Ÿงพ Invoice generation - Creating and sending invoices
  • ๐Ÿ“Š Payment history - Tracking all transactions
  • ๐Ÿ”„ Subscription management - Handling recurring billing
  • ๐ŸŒ Multi-currency - Converting between currencies automatically
  • ๐Ÿ›ก๏ธ Security & compliance - PCI-compliant payment handling

๐Ÿ“Š What Waymaker Tracks

Our database stores the organizational and operational data:

  • ๐Ÿ‘ฅ User license assignments - Who has what license tier
  • ๐Ÿข Organization setup - Billing cycles, currency preferences
  • ๐Ÿ“ˆ Usage tracking - AI message counts, feature usage
  • ๐Ÿ”„ Change history - Audit trail of all billing modifications
  • โš–๏ธ Proration calculations - Mid-cycle change adjustments
  • ๐Ÿ‘‘ Permission management - Who can access billing features

Why This Hybrid Approach?

โœ… Benefits You Get

โšก Fast Performance

  • Your dashboard loads instantly from our database
  • No waiting for Stripe API calls during normal use
  • Real-time updates when you make changes

๐Ÿ”ง Flexible Business Logic

  • Complex team structures and permissions
  • Custom proration calculations for mid-cycle changes
  • Multi-organization support with different currencies
  • Advanced usage tracking and analytics

๐Ÿ”’ Rock-Solid Reliability

  • Stripe handles the complex payment scenarios
  • Automatic retry logic for failed payments
  • Industry-standard security and compliance
  • Guaranteed delivery of invoices and receipts

๐Ÿ’ฐ Cost Efficiency

  • Reduced API calls to external services
  • Bulk operations processed efficiently
  • Smart caching of frequently accessed data

Real-World Example

Here's what happens when you add a new team member:

1. You Take Action ๐Ÿ‘†

  • Click "Add User" in the Admin Dashboard
  • Enter their email and select license tier
  • Click "Add User" to confirm

2. Waymaker Calculates ๐Ÿงฎ

Current billing period: Jan 1-31 (31 days total)
Today: Jan 16 (15 days remaining)
New user license: Business ($79/month)

Proration calculation:
Daily rate: $79 รท 31 days = $2.55/day
Prorated amount: $2.55 ร— 15 days = $38.25

3. Stripe Gets Updated ๐Ÿ’ณ

  • Create new subscription item for the user
  • Apply proration charge to current invoice
  • Update billing forecast for next cycle

4. Database Records Everything ๐Ÿ“

  • Add user license record
  • Log the billing event with details
  • Update organization member count
  • Create audit trail entry

5. You See Immediate Results โšก

  • User appears in your dashboard instantly
  • Prorated charge shows in "Pending Changes"
  • Invitation email sent to new user
  • Team count updates across the interface

Data Synchronization

๐Ÿ”„ How We Stay In Sync

Webhook Events

When something changes in Stripe, they send us instant notifications:

// Stripe tells us: "Payment succeeded for customer X"
webhook: 'invoice.payment_succeeded' โ†’ Update our DB status to 'active'

// Stripe tells us: "Subscription was cancelled"  
webhook: 'customer.subscription.deleted' โ†’ Update our DB status to 'cancelled'

// Stripe tells us: "Payment method updated"
webhook: 'customer.updated' โ†’ Sync payment method details

Real-Time Updates

  • Your actions update our database immediately
  • Stripe changes sync within seconds via webhooks
  • Dashboard reflects current state from our fast database
  • Billing details pull from Stripe when needed (like invoice history)

๐Ÿ” What You See Where

Admin Dashboard (Fast - Our Database)

  • Current plan and license assignments
  • Team member list and roles
  • Pending changes and prorations
  • Next billing date and amount
  • Organization settings and preferences

Billing Details (Detailed - Stripe)

  • Complete invoice history with PDFs
  • Payment method details and security
  • Failed payment attempts and retries
  • Detailed transaction logs
  • Tax calculations and compliance data

Multi-Organization Architecture

๐Ÿข Independent Organizations

Each of your organizations is completely separate:

London Office Organization:
โ”œโ”€โ”€ Stripe Customer: cus_london123
โ”œโ”€โ”€ Currency: GBP
โ”œโ”€โ”€ Payment Method: UK Business Card
โ”œโ”€โ”€ Users: 25 team members
โ””โ”€โ”€ Teams: Marketing, Sales, Operations

Sydney Office Organization:  
โ”œโ”€โ”€ Stripe Customer: cus_sydney456
โ”œโ”€โ”€ Currency: AUD
โ”œโ”€โ”€ Payment Method: AU Business Card
โ”œโ”€โ”€ Users: 15 team members
โ””โ”€โ”€ Teams: Development, Support

๐Ÿ”’ Data Isolation

  • Billing data never crosses between organizations
  • User access strictly controlled by organization membership
  • Payment methods and invoices completely separate
  • Currencies and pricing handled independently

Security & Compliance

๐Ÿ›ก๏ธ Payment Security

  • Zero payment data stored on Waymaker servers
  • PCI compliance handled entirely by Stripe
  • Tokenized cards - we only store safe references
  • Encrypted transmission for all financial communications

๐Ÿ‘ฅ Access Control

  • Role-based access to billing features
  • Audit logging of all billing changes
  • Permission guards prevent unauthorized access
  • Multi-factor authentication for sensitive operations

๐Ÿ” Transparency

  • Complete audit trail of all billing modifications
  • Real-time notifications of billing changes
  • Detailed explanations in all error messages
  • Open documentation of our billing logic

Troubleshooting Common Questions

โ“ "Why don't I see my latest payment?"

  • Webhook delay: Stripe updates can take 10-30 seconds to sync
  • Browser cache: Try refreshing the page
  • Check Stripe email: Payment confirmations come directly from Stripe

โ“ "My dashboard shows different data than my invoice"

  • Dashboard: Shows current/pending state from our database
  • Invoice: Shows historical snapshot from when invoice was generated
  • This is normal - especially if you made recent changes

โ“ "Can I see real-time Stripe data?"

  • Most data: Already synced and visible in dashboard
  • Invoice PDFs: Click "View Invoice" to get directly from Stripe
  • Payment methods: Managed through secure Stripe checkout

โ“ "What happens if Stripe is down?"

  • Dashboard continues working with last known data
  • New changes queue until Stripe is available
  • No data loss - everything syncs when service resumes
  • Critical operations display appropriate messaging

Next Steps: