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: