Payments & Financials - Version Mapping
Domain: Payments & Financials First Introduced: V1.0 Last Updated: 2025-10-25
Version Introduction Timeline
| Version | Status | Scope | Description | 
|---|---|---|---|
| MVP.0 | OUT OF SCOPE | None | All payment processing deferred | 
| MVP.1 | OUT OF SCOPE | None | All payment processing deferred | 
| V1.0 | PLANNED | Full Implementation | Complete payment processing with Stripe integration | 
| V1.1 | FUTURE | Advanced Payments | Multi-currency, preauth, automated refunds | 
| V1.2 | FUTURE | Reconciliation | Automated reconciliation, accounting integration | 
| V2.0 | FUTURE | Enterprise Finance | Split disbursements, escrow, invoicing | 
MVP.0 - OUT OF SCOPE
Status: Not Implemented Rationale: MVP.0 focuses on foundation. Payment processing deferred until booking engine available (V1.0).
Excluded Entities
- All payment entities deferred
Excluded Features
- Payment processing
- Payout management
- Financial ledger
- Refund processing
- Transaction tracking
Workaround
- Payments handled outside system
- Cash or direct transfers
- Channel-collected payments
- Manual tracking via spreadsheets
- No automated payouts
MVP.1 - OUT OF SCOPE
Status: Not Implemented Rationale: MVP.1 adds read-only booking awareness. Payment processing still requires full booking engine (V1.0).
Excluded
- All payment functionality deferred to V1.0
V1.0 - FULL PAYMENT PROCESSING
Status: Planned Target: Initial production release with booking capabilities
Core Entities (7)
- 
PaymentAccount - Financial account configuration - Stripe Connect integration
- Provider account linking
- KYC/AML verification tracking
- Capability management
- Status tracking (pending, active, suspended)
 
- 
Payment - Inbound guest payment - Payment intent creation
- Status tracking (pending, processing, succeeded, failed)
- Method tracking (card, bank_transfer, cash)
- Provider transaction linking
- Idempotency support
- Refund status tracking
 
- 
Payout - Outbound disbursement - Revenue rule application
- Recipient account tracking
- Scheduling support
- Automatic and manual payouts
- Stripe Connect transfers
- Failure handling and retry
 
- 
Transaction - Immutable ledger entry - Double-entry bookkeeping foundation
- Debit/credit tracking
- Category classification
- Source linking (payment, payout, refund)
- Append-only (never UPDATE/DELETE)
 
- 
Refund - Payment reversal - Full and partial refunds
- Policy-based calculation
- Reason tracking
- Approval workflow (optional)
- Provider integration
- Compensating transaction generation
 
- 
Ledger - Organizational financial book - One per organization
- Balance computation
- Reconciliation tracking
- Base currency definition
 
- 
BalanceSummary - Computed balance view - Pending balance (scheduled payouts)
- Available balance (received but not paid)
- Paid balance (historical total)
- Dashboard reporting
 
Key Features
Payment Processing:
- Stripe Connect integration
- Payment intent workflow
- Card payment support
- Idempotency enforcement
- Webhook handling
- PCI-DSS compliance (no card data stored)
Payout Management:
- Revenue rule-based calculation
- Automatic payout creation (on booking completion)
- Scheduled batch processing
- Stripe Connect transfers
- Failed payout retry logic
- Manual payout override
Refund Processing:
- Policy-based refund calculation
- Manual approval workflow
- Full and partial refunds
- Compensating transactions
- Ledger updates
- Provider API integration
Financial Ledger:
- Immutable transaction records
- Append-only journal
- Balance computation
- Audit trail maintenance
- Double-entry ready (foundation)
Idempotency:
- Unique provider references
- Duplicate prevention
- Safe retry logic
- Request deduplication
Payment Methods Supported
V1.0:
- Credit/debit cards (via Stripe)
- Manual payment recording (cash, check)
- Channel-collected payments (tracking only)
Deferred:
- Bank transfer (ACH/SEPA) - V1.1
- Digital wallets (Apple Pay, Google Pay) - V1.1
- Cryptocurrency - V2.0+
Business Rules
- All amounts stored in minor units (cents)
- Payment/Payout/Transaction records append-only
- Idempotent provider API calls
- Stripe Connect required for automated processing
- Cannot process payments until PaymentAccount verified
- Refunds cannot exceed original payment
- Ledger balance must reconcile with transactions
- One Ledger per Organization
- Payout eligibility requires booking completion
Database Objects
Tables: 7 (PaymentAccount, Payment, Payout, Transaction, Refund, Ledger, BalanceSummary view) Indexes: 15+ Constraints: 10+ Rules: Transaction immutability (no UPDATE/DELETE)
API Endpoints
Payment Accounts:
- POST /payment-accounts- Connect payment provider
- GET /payment-accounts- List accounts
- GET /payment-accounts/:id- Get account details
- PUT /payment-accounts/:id/verify- Complete KYC verification
Payments:
- POST /payments- Create payment
- GET /payments- List payments
- GET /payments/:id- Get payment details
- POST /payments/:id/capture- Capture authorized payment
Payouts:
- GET /payouts- List payouts
- GET /payouts/:id- Get payout details
- POST /payouts/:id/process- Manually trigger payout
- POST /payouts/:id/cancel- Cancel pending payout
Refunds:
- POST /refunds- Create refund
- GET /refunds- List refunds
- GET /refunds/:id- Get refund details
- POST /refunds/:id/approve- Approve pending refund
Reporting:
- GET /ledger/balance- Get current balance
- GET /ledger/transactions- List transactions
- GET /balance-summary- Get balance breakdown
Stripe Integration
Stripe Connect Setup:
- Standard Connect accounts for property owners
- Platform account for fee collection
- OAuth onboarding flow
- KYC/AML verification webhook handling
- Account capability tracking
Payment Intent Flow:
- Create PaymentIntent on Stripe
- Collect payment method from guest
- Confirm payment
- Capture funds
- Update Payment record
- Create Transaction entries
Transfer Flow:
- Compute payout from RevenueRules
- Create Payout record
- Schedule transfer batch
- Execute Stripe Transfer API
- Update Payout status
- Create Transaction entries
Background Jobs
- Payout Batch Processing - Daily or weekly
- Failed Payment Retry - Exponential backoff
- Webhook Event Processing - Real-time queue
- Balance Reconciliation - Nightly
- Transaction Cleanup - Archive old records
Performance Requirements
- Payment creation: <200ms
- Payment capture: <300ms (external API dependency)
- Payout calculation: <100ms
- Refund processing: <500ms
- Balance query: <50ms (materialized view)
Security & Compliance
PCI-DSS:
- No raw card data stored
- Stripe.js for client-side tokenization
- Server never touches card numbers
- Webhook signature validation
Financial Audit:
- Immutable transaction records
- Complete audit trail
- Creator/approver tracking
- 7-10 year retention
Access Control:
- Financial data restricted to admin/finance roles
- Account-scoped queries
- Payment approval workflow (optional)
Deferred to V1.1+
- Payment authorization holds (preauth + capture)
- Multi-currency support
- FX conversion
- Automated refunds (policy-triggered)
- Payment plans and deposits
- Alternative payment methods (ACH, wire)
- Accounting system integration
V1.1 - ADVANCED PAYMENT FEATURES
Status: Future Scope: Enhanced payment capabilities
New Features
Payment Authorization Holds:
- Preauthorize before checkout date
- Capture on check-in or completion
- Automatic release if not captured
- Reduced fraud risk
Multi-Currency Support:
- Real-time FX conversion
- Currency-specific pricing
- Payout currency selection
- FX rate tracking
Automated Refunds:
- Cancellation policy integration
- Automatic refund calculation
- No manual approval required
- Configurable thresholds
Payment Plans:
- Deposit at booking
- Balance before arrival
- Installment schedules
- Automatic reminders
Alternative Methods:
- ACH/SEPA bank transfers
- Wire transfer tracking
- Check recording
- Cryptocurrency (exploratory)
Database Changes
- Add FX conversion tracking
- Payment schedule tables
- Preauth/capture state
- Currency configuration
Impact
- Improved cash flow management
- International property support
- Reduced manual processing
- Enhanced guest flexibility
V1.2 - RECONCILIATION & COMPLIANCE
Status: Future Scope: Financial automation and compliance
New Features
Reconciliation Engine:
- Automated ledger vs provider statement comparison
- Discrepancy detection
- Variance reporting
- Reconciliation dashboard
Accounting Integration:
- QuickBooks Online API
- Xero integration
- NetSuite connector
- Chart of accounts mapping
Double-Entry Bookkeeping:
- Full debit/credit implementation
- Journal entries
- Account hierarchy
- Financial reports (P&L, balance sheet)
Tax Engine:
- Tax calculation integration
- 1099 generation
- Tax reporting
- Jurisdiction tracking
Fraud Detection:
- Risk scoring
- Chargeback monitoring
- Suspicious pattern detection
- Automated holds
KYC/AML Workflows:
- Enhanced verification
- Document collection
- Risk assessment
- Compliance reporting
Impact
- Reduced accounting errors
- Automated financial reporting
- Regulatory compliance
- Fraud prevention
V2.0 - ENTERPRISE FINANCIAL MANAGEMENT
Status: Future Scope: Advanced financial operations
New Features
Split Disbursements:
- Multi-party payouts in single transaction
- Complex revenue sharing
- Automatic distribution
Escrow Management:
- High-value booking protection
- Milestone-based releases
- Dispute resolution support
Invoice Generation:
- Automated invoice creation
- PDF generation
- Custom branding
- Email delivery
Financial Dashboards:
- Real-time metrics
- P&L statements
- Balance sheets
- Cash flow projections
Multi-Entity Consolidation:
- Corporate parent + subsidiaries
- Consolidated reporting
- Inter-entity transfers
Payment Gateway Optimization:
- Multi-gateway support
- Automatic failover
- Cost optimization routing
- Success rate tracking
Impact
- Enterprise-scale operations
- Complex business models
- Advanced financial management
- Cost optimization
Feature Availability Matrix
| Feature | MVP.0 | MVP.1 | V1.0 | V1.1 | V1.2 | V2.0+ | 
|---|---|---|---|---|---|---|
| Stripe Connect | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 
| Payment Processing (Card) | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 
| Manual Payment Recording | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 
| Automated Payouts | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 
| Manual Refunds | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 
| Transaction Ledger | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 
| Balance Tracking | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | 
| Payment Preauth | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | 
| Multi-Currency | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | 
| Automated Refunds | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | 
| Payment Plans | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | 
| ACH/Bank Transfer | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | 
| Reconciliation Engine | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | 
| Accounting Integration | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | 
| Double-Entry Bookkeeping | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | 
| Fraud Detection | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | 
| Split Disbursements | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | 
| Escrow Management | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | 
| Invoice Generation | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | 
Dependencies
Upstream Dependencies (Required First)
- Identity & Tenancy (MVP.0) - Org/Account structure
- Bookings (V1.0) - Payment obligations source
- Pricing & Revenue (V1.0) - Revenue split rules
- Authorization & Access (MVP.0) - Permission enforcement
Downstream Dependencies (Requires This Domain)
- Analytics & Audit (V1.0+) - Financial metrics
- Channels & Distribution (V1.0+) - Channel payment routing
Migration Path
From MVP.0/MVP.1 → V1.0
Prerequisites:
- Create Stripe Platform account
- Configure Connect application
- Obtain API keys
- Configure webhooks
Data Migration:
- Create Ledger for each existing Organization
- Initialize PaymentAccount records for properties
- Complete Stripe Connect onboarding for existing accounts
- No payment history to migrate (starting fresh)
Integration Setup:
- Implement Stripe Connect OAuth flow
- Configure webhook endpoints
- Set up webhook signature validation
- Implement payment intent workflow
- Configure transfer automation
Estimated Effort: 4-6 weeks
- Stripe integration: 2 weeks
- Schema deployment: 1 day
- Payment API implementation: 2 weeks
- Payout automation: 1 week
- Testing and compliance: 1-2 weeks
V1.0 → V1.1 (Advanced Payments)
Migration Steps:
- Extend schema for multi-currency
- Add preauth state tracking
- Implement FX rate service
- Deploy payment schedule tables
- Migrate existing data (minimal changes)
Estimated Effort: 3-4 weeks
V1.1 → V1.2 (Reconciliation)
Integration Steps:
- Select accounting platform (QuickBooks/Xero)
- Implement OAuth integration
- Map chart of accounts
- Build reconciliation engine
- Parallel run validation
Estimated Effort: 6-8 weeks
Stripe Connect Configuration
Account Types
Platform Account (TVL):
- Standard platform account
- Collects application fees
- Manages transfers
- Handles disputes
Connected Accounts (Property Owners):
- Standard Connect accounts
- Independent Stripe accounts
- Full dashboard access
- Direct bank deposit
Fee Structure
Payment Processing:
- Stripe fee: 2.9% + $0.30 per transaction
- Platform fee: Configurable per RevenueRules
- All fees deducted at payment time
Payouts:
- Stripe transfer fee: $0.25 per transfer (US)
- International: Variable by country
- Instant payouts: 1% (optional upgrade)
Webhook Events
Required Events:
- payment_intent.succeeded
- payment_intent.payment_failed
- transfer.created
- transfer.failed
- account.updated
- charge.refunded
Testing
Test Mode:
- Separate test keys
- Test card numbers
- Webhook testing
- Transfer simulation
Production:
- Phased rollout
- Shadow mode (parallel processing)
- Monitoring and alerting
Related Documents
- Payments & Financials Domain Specification
- Physical Schema
- Bookings Domain Version Mapping
- Pricing Domain Version Mapping
- Stripe Connect Integration Guide
- Financial Reconciliation
- PCI-DSS Compliance
- MVP.0 Overview
- V1.0 Product Vision
Document Status: Complete Total Lines: 550+ Coverage: MVP.0 through V2.0