Demo · sample data only, not a live service · Home · Pricing · Sign-up · Customer portal · Admin console · Invoice · Invoice email · Architecture
How monthly invoicing runs on AWS
Usage is counted hourly into one ledger. On the 1st, direct subscribers are invoiced through Stripe; AWS Marketplace subscribers are billed by AWS from hourly metering.
1 · METER EVERY SEND
2 · INVOICE ON THE 1ST
3 · ACCOUNTS AND SELF-SERVICE
Subscriber campaign stack
Connect · SMS · SES · WhatsApp in each subscriber's AWS account
Usage collector
Lambda, hourly · counts sends and carrier cost per subscriber
Usage ledger
DynamoDB · one row per subscriber, channel and day
Marketplace metering
Lambda, hourly · BatchMeterUsage to AWS
AWS Marketplace
AWS bills the subscriber on their AWS invoice
Invoice run
EventBridge Scheduler · 1st of the month, 6:00 AM
Stripe Billing
Adds line items, emails the PDF, charges card or ACH
Subscriber
Gets the invoice email; failed charges retry for 14 days
Billing webhooks
Lambda · paid, failed, card updated, plan changed
Subscriber accounts
DynamoDB · plan, status, Stripe or AWS customer ID
Portal and admin console
S3 + CloudFront + API Gateway, Microsoft 365 or email sign-in
Sign-up
Stripe Checkout, or Marketplace landing page (ResolveCustomer)
monthly totals
plans and status
new subscriber
One ledger, two ways to bill. Marketplace subscribers are metered to AWS hourly; direct subscribers get a Stripe invoice on the 1st. Both read the same ledger, so every invoice matches the Campaign Usage Costs report.