WITHMIA v1.0.4 — 4 Plans, dLocal and Overage Billing
A new four-tier subscription model, AI usage tracking, smart model routing, the dLocal payment gateway for all of Latin America, and a soft-cap overage billing system. The most sustainable financial model WITHMIA has had.
WITHMIA Team
WITHMIA
Note (July 2026): the Business and Enterprise plans are now called Team and Max. Prices are unchanged.
v1.0.3 opened up the source code. v1.0.4 builds the financial model that makes everything ahead sustainable. This release reshapes WITHMIA’s pricing, adds a second payment gateway, and solves the most critical problem our financial study surfaced: “unlimited AI messages” is no longer a cost bomb.
From 2 plans to 4: a model that scales
After a thorough financial analysis, we redesigned the pricing structure to cover everyone from solo founders to mid-sized companies. The goal: healthy 80%+ margins while staying 3-5x cheaper than Intercom or Zendesk.
| Plan | Price | AI messages/mo | Members | AI model |
|---|---|---|---|---|
| Free | $0 | 500 | 1 | GPT-4o-mini |
| Pro | $24.990 CLP/mo | 2.000 | 1 (+extras) | GPT-4o-mini + GPT-4o |
| Business | $44.990 CLP/mo | 8.000 | 3 (+extras) | GPT-4o + Claude |
| Enterprise | $149.990 CLP/mo | 25.000 | 10 (+extras) | All + fine-tuning |
Why the change?
The critical finding of our financial study was blunt: at $19.990/month with unlimited AI, a single user sending 2,000+ messages a month generates a net loss. With smart model routing and generous caps, that same revenue per customer becomes highly profitable.
The annual discount was adjusted to 15% (down from 20.8%), lining up with the SaaS industry standard and protecting margins.
AI usage tracking per company
You can’t manage what you don’t measure. This version implements full metering of every message processed by AI:
ai_usagestable — records company, model used, input/output tokens and estimated cost in USD- Monthly counters —
AiUsageServicekeeps a running count for the current month, per company - Cap enforcement —
canSendMessage()checks the plan limit before processing each message - Usage dashboard — full stats visible on the subscription page: messages used, limit, percentage, active model
Every message that goes through the AI bot is now counted and attributed to the right company. That’s the foundation for everything that follows.
Smart model routing: -60% on AI costs
The single biggest lever on cost: GPT-4o-mini as the default model.
| Strategy | Cost/message | Savings vs GPT-4o |
|---|---|---|
| Always GPT-4o | $0.014 | — |
| GPT-4o-mini default | $0.004 | -71% |
The n8n workflow now receives the AI model as a per-company injected variable. The AI Agent node reads that value dynamically, so every plan can use the appropriate model without maintaining separate workflows.
For most customer support queries — opening hours, availability, prices, order status — GPT-4o-mini answers just as well as GPT-4o. The Business and Enterprise plans keep access to more powerful models for complex cases.
dLocal: payments across Latin America
Flow.cl is excellent for Chile, but WITHMIA is aiming at all of Latin America. With dLocal as a backup gateway, we now accept payments in 8+ currencies:
🇨🇱 CLP · 🇧🇷 BRL · 🇲🇽 MXN · 🇦🇷 ARS · 🇨🇴 COP · 🇵🇪 PEN · 🇺🇾 UYU · 🇺🇸 USD
What does the integration include?
- Full checkout —
POST /api/subscription/checkout-dlocalgenerates a payment link for any plan - Secure webhooks — cryptographic signature verification on every notification
- Recurring payments — support for automatic subscriptions
- Refunds — integrated API to process refunds
- Country detection — the selected currency automatically determines the billing country
The GET /api/subscription/gateways API lists both gateways with their status, supported currencies and countries. If Flow.cl isn’t available, dLocal takes over automatically.
Note: dLocal goes live once the production credentials are configured. Flow.cl remains the main gateway for customers in Chile.
Overage billing: the bot doesn’t stop
This is the most important change for the end-user experience. Instead of a hard stop (the bot goes quiet the moment the limit runs out), we implemented a soft cap:
- The company reaches its plan’s message limit
- The bot keeps working for up to 5,000 extra messages
- We charge $5.990 CLP per additional 1,000 messages
- The admin can proactively buy packs from the UI
Why a soft cap?
Imagine you run a business with 50 active conversations and your bot stops answering at midday. Your customers get silence. You lose sales. That scenario is worse than any extra charge.
With the soft cap, the bot never stops while there’s overage headroom. The extra cost is transparent and predictable: $5.990 CLP per 1,000 messages. And if you’d rather keep spending under control, you can disable overage in settings.
Automatic overage charging
The billing:charge-overage command runs automatically on the 1st of every month at 08:00 UTC. It finds every company that exceeded its limit the previous month and generates the corresponding charges via Flow.cl or dLocal, depending on each company’s gateway.
- Supports
--dry-runto preview without charging --month=YYYY-MMto bill a specific month--company=IDto bill a single company- Detailed log of every charge with a summary at the end
Email alerts
New automatic notifications when a company approaches its limit:
- At 90% usage — warning email to the admin with usage stats and a CTA to upgrade
- At 100% usage — limit-reached alert with accumulated overage detail and extra cost
- 1 email per threshold per month — smart caching so we don’t bombard the user
- Professional HTML template — progress bar, stats table, button to view the subscription
What you see in the interface
- Updated usage bar — shows the overage message count in amber
- Overage card — an info panel with packs consumed and accumulated cost
- “Buy extra pack” button — appears once usage passes 80% of the limit
- Updated FAQ — new questions about payment methods and the overage system
dLocal Smart Fields: international recurring payments
Beyond the basic checkout, we implemented dLocal Smart Fields — an embedded payment form that captures and tokenizes cards directly in the frontend, so card data never touches our server.
- Client-side tokenization — dLocal Smart Fields captures number, expiry and CVV
- Recurring payments — the first charge saves a
card_id; renewals use the stored card - Auto-renewal — the
subscriptions:renew-dlocalcommand runs daily at 06:00 UTC - Currency conversion — CurrencyService converts CLP prices into the customer’s local currency in real time
- Retry policy — automatic retries on days 0, 1, 3 and 7 after the due date
New API endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/subscription/gateways | Available gateways with status |
| GET | /api/subscription/overage | Overage stats for the cycle |
| GET | /api/subscription/ai-usage | Current month’s AI usage |
| POST | /api/subscription/checkout-dlocal | Checkout via dLocal (redirect) |
| POST | /api/subscription/checkout-dlocal-smartfields | Checkout via Smart Fields (card tokenization) |
| POST | /api/subscription/purchase-overage | Buy extra packs |
| POST | /api/webhooks/dlocal | dLocal payments webhook |
All protected with auth:sanctum and appropriate rate limiting.
Configuration
New environment variables for this version:
# dLocal Gateway (redirect mode)
DLOCAL_API_KEY=
DLOCAL_SECRET_KEY=
DLOCAL_SANDBOX=true
DLOCAL_NOTIFY_URL=https://yourdomain.com/api/webhooks/dlocal
# dLocal Smart Fields (recurring card payments)
DLOCAL_SMART_FIELDS_API_KEY=
DLOCAL_SMART_FIELDS_SECRET_KEY=
DLOCAL_SMART_FIELDS_SANDBOX=true
# Overage Billing
BILLING_OVERAGE_ENABLED=true
BILLING_OVERAGE_PER_1000=5990
BILLING_OVERAGE_MAX_EXTRA=5000
On app.withmia.com, overage is enabled by default.
The context: why it matters
Our financial study showed that under the old model (Pro at $19.990 + unlimited AI), 500 customers generated barely ~$60K/year. With the new 4-tier model + smart routing + overage:
| Metric | Before | Now |
|---|---|---|
| Monthly revenue (500 customers) | $14.470 | $29.225 |
| Monthly AI cost | $7.000 | $2.800 |
| Gross margin | 34.3% | 81.9% |
| Annual profit | $59.640 | $287.100 |
That’s +381% in gross profit with the same number of customers. And we’re still 3-5x cheaper than any closed-source competitor.
What’s next
With the financial model settled, focus shifts to the features the LATAM market needs:
- PWA / mobile app — a deal-breaker in a mobile-first market
- CSAT surveys — table-stakes feature we’re missing
- AI resolution analytics — “Your AI resolved 47% of conversations”
- WhatsApp broadcasting — mass campaigns to compete with ManyChat
WITHMIA v1.0.4 isn’t the flashiest update — no new screens, no new integrations. But it’s the most important one: it’s the financial foundation that makes everything else viable.
Labels
Comments
Be respectful. Your email will not be published.