feat: add invoicing system and subscription tier enforcement

Phase 1 OMS implementation:

Invoicing:
- Add Invoice and VendorInvoiceSettings database models
- Full EU VAT support (27 countries, OSS, B2B reverse charge)
- Invoice PDF generation with WeasyPrint + Jinja2 templates
- Vendor invoice API endpoints for settings, creation, PDF download

Subscription Tiers:
- Add VendorSubscription model with 4 tiers (Essential/Professional/Business/Enterprise)
- Tier limit enforcement for orders, products, team members
- Feature gating based on subscription tier
- Automatic trial subscription creation for new vendors
- Integrate limit checks into order creation (direct and Letzshop sync)

Marketing:
- Update pricing documentation with 4-tier structure
- Revise back-office positioning strategy
- Update homepage with Veeqo-inspired Letzshop-focused messaging

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-24 18:15:27 +01:00
parent 4d9b816072
commit 6232bb47f6
23 changed files with 4342 additions and 241 deletions

View File

@@ -4,7 +4,7 @@
**"Lightweight OMS for Letzshop Sellers"**
A focused Order Management System that works alongside Letzshop, not instead of it. Provides the operational tools Letzshop lacks: real inventory, correct invoicing, customer ownership.
A focused Order Management System built specifically for Luxembourg e-commerce. Works alongside Letzshop, not instead of it. Provides the operational tools Letzshop lacks: real inventory, correct invoicing, customer ownership.
---
@@ -79,80 +79,104 @@ A focused Order Management System that works alongside Letzshop, not instead of
**Upgrade Triggers:**
- Exceeds 500 orders/month
- Multiple Letzshop vendor accounts
- Needs API for integrations
- Needs analytics and reporting
- Team grows beyond 3
- Accountant needs structured exports
---
### Business - EUR 199/month
**Target:** High-volume vendors, teams, multiple operations
**Target:** High-volume vendors, teams, data-driven operations
| Feature | Limit |
|---------|-------|
| Letzshop Order Sync | Unlimited orders |
| Letzshop Order Sync | Up to 2,000 orders/month |
| Everything in Professional | Included |
| **Multi-Vendor Support** | Multiple Letzshop accounts |
| **API Access** | For custom integrations |
| **Analytics Dashboard** | Sales trends, top products, customer insights |
| **Accounting Export** | CSV/XML for accounting software |
| **Bulk Operations** | Mass product updates, bulk invoicing |
| **Advanced Reporting** | Custom date ranges, exportable reports |
| **API Access** | For custom integrations |
| **Automation Rules** | Auto-confirm orders, low-stock alerts |
| Team Members | 10 users |
| Team Roles & Permissions | Full access control |
| Order History | Unlimited |
| Phone Support | Available |
| Dedicated Onboarding | 2-hour session included |
| Priority Support | 4h response, phone available |
**Value Proposition:** "Enterprise-grade OMS at SMB pricing."
**Value Proposition:** "Scale with confidence. Analytics, automation, and full control."
**Upgrade Triggers:**
- Exceeds 2,000 orders/month
- Needs white-label or custom integrations
- Requires SLA guarantee
- Multiple brands/operations
---
### Enterprise - Custom Pricing
### Enterprise - EUR 399+/month (Custom)
**Target:** Large operations, special requirements
**Target:** Large operations, special requirements, agencies
| Feature | Notes |
|---------|-------|
| Everything in Business | Included |
| Unlimited Orders | No volume limits |
| Unlimited Team Members | As needed |
| Custom Integrations | Built to spec |
| SLA Guarantee | 99.9% uptime |
| Dedicated Account Manager | Named contact |
| On-Premise Option | If required |
| **White-Label Option** | Remove Wizamart branding |
| **Custom Integrations** | Connect to ERP, accounting software |
| **Multi-Vendor Support** | Multiple Letzshop accounts under one dashboard |
| **SLA Guarantee** | 99.9% uptime commitment |
| **Dedicated Account Manager** | Named contact |
| **On-Premise Option** | For security-sensitive clients |
| **Custom Development** | Bespoke features on request |
**Starting at EUR 499/month** - Contact for quote
**Starting at EUR 399/month** - Contact for quote
---
## Feature Comparison Matrix
| Feature | Essential | Professional | Business |
|---------|:---------:|:------------:|:--------:|
| Feature | Essential | Professional | Business | Enterprise |
|---------|:---------:|:------------:|:--------:|:----------:|
| **Orders** |
| Letzshop Sync | 100/mo | 500/mo | Unlimited |
| Order Confirmation | ✓ | ✓ | ✓ |
| Tracking Sync | ✓ | ✓ | ✓ |
| Order History | 6 months | 24 months | Unlimited |
| Letzshop Sync | 100/mo | 500/mo | 2,000/mo | Unlimited |
| Order Confirmation | Yes | Yes | Yes | Yes |
| Tracking Sync | Yes | Yes | Yes | Yes |
| Order History | 6 months | 24 months | Unlimited | Unlimited |
| **Inventory** |
| Product Limit | 200 | Unlimited | Unlimited |
| Stock Levels | ✓ | ✓ | ✓ |
| Product Locations | - | ✓ | ✓ |
| Incoming Stock / PO | - | ✓ | ✓ |
| Product Limit | 200 | Unlimited | Unlimited | Unlimited |
| Stock Levels | Yes | Yes | Yes | Yes |
| Product Locations | - | Yes | Yes | Yes |
| Incoming Stock / PO | - | Yes | Yes | Yes |
| **Invoicing** |
| Luxembourg Invoice | ✓ | ✓ | ✓ |
| EU VAT Invoice | - | ✓ | ✓ |
| Accounting Export | - | - | ✓ |
| Luxembourg Invoice | Yes | Yes | Yes | Yes |
| EU VAT Invoice | - | Yes | Yes | Yes |
| Bulk Invoicing | - | - | Yes | Yes |
| Accounting Export | - | - | Yes | Yes |
| **Customers** |
| Customer List | View | View + Export | View + Export |
| Customer List | View | View + Export | View + Export | View + Export |
| **Analytics & Reporting** |
| Basic Stats | Yes | Yes | Yes | Yes |
| Analytics Dashboard | - | - | Yes | Yes |
| Advanced Reporting | - | - | Yes | Yes |
| Custom Reports | - | - | - | Yes |
| **Automation** |
| Low Stock Alerts | - | - | Yes | Yes |
| Auto-Confirm Orders | - | - | Yes | Yes |
| Custom Automation | - | - | - | Yes |
| **Team** |
| Users | 1 | 3 | 10 |
| Roles & Permissions | - | - | |
| **Operations** |
| Multi-Vendor | - | - | |
| API Access | - | - | |
| Users | 1 | 3 | 10 | Unlimited |
| Roles & Permissions | - | - | Yes | Yes |
| **Integration** |
| API Access | - | - | Yes | Yes |
| Custom Integrations | - | - | - | Yes |
| White-Label | - | - | - | Yes |
| **Support** |
| Email | 72h | 24h | 24h |
| Phone | - | - | |
| Onboarding | - | - | Included |
| Email | 72h | 24h | 4h | 4h |
| Phone | - | - | Yes | Yes |
| Dedicated Manager | - | - | - | Yes |
| SLA | - | - | - | 99.9% |
---
@@ -173,6 +197,7 @@ A focused Order Management System that works alongside Letzshop, not instead of
| Essential | EUR 49/mo | EUR 490/year (EUR 41/mo) |
| Professional | EUR 99/mo | EUR 990/year (EUR 82/mo) |
| Business | EUR 199/mo | EUR 1,990/year (EUR 166/mo) |
| Enterprise | Custom | Contact for annual pricing |
---
@@ -191,8 +216,8 @@ A focused Order Management System that works alongside Letzshop, not instead of
| Add-On | Price | Description |
|--------|-------|-------------|
| Additional Team Member | +EUR 9/user/mo | Beyond plan limit |
| Additional Vendor Account | +EUR 29/mo | For Professional tier |
| Extended History | +EUR 19/mo | Unlimited history for Essential |
| Extended History | +EUR 19/mo | Unlimited history for Essential/Professional |
| Extra Order Capacity | +EUR 29/100 orders | Beyond plan limit |
---
@@ -210,23 +235,43 @@ A focused Order Management System that works alongside Letzshop, not instead of
- Most active vendors will need this
- Price feels reasonable for operational software
3. **Business (EUR 199) provides anchor**
- Makes Professional look affordable
- Captures high-value customers
- Multi-vendor is a clear enterprise need
3. **Business (EUR 199) is for growth**
- Analytics and automation justify the jump
- 2,000 orders/month covers most high-volume vendors
- API access enables custom workflows
4. **No per-order fees**
4. **Enterprise (EUR 399+) captures high-value clients**
- White-label and SLA for agencies/resellers
- Custom integrations for complex operations
- Multi-vendor for the rare but valuable cases
5. **No per-order fees**
- Unlike Letzshop's commission model
- The more you sell, the better the value
- Predictable costs for budgeting
5. **Annual = lower churn**
6. **Annual = lower churn**
- 17% discount is meaningful
- 2 months free is easy to understand
- Reduces monthly cancellation opportunity
---
## Upgrade Path Logic
```
Essential -> Professional
Triggers: Ships to EU (VAT) | 100+ orders | Team access needed
Professional -> Business
Triggers: 500+ orders | Needs analytics | Accountant needs exports
Business -> Enterprise
Triggers: 2,000+ orders | White-label | SLA required | Custom integrations
```
---
## Competitive Positioning
| Alternative | Their Model | Our Advantage |
@@ -244,21 +289,27 @@ A focused Order Management System that works alongside Letzshop, not instead of
### Qualifying Questions
1. "How many orders do you process per month?"
- <100 Essential
- 100-500 Professional
- 500+ → Business
- <100 -> Essential
- 100-500 -> Professional
- 500-2000 -> Business
- 2000+ -> Enterprise
2. "Do you ship to other EU countries?"
- Yes Professional minimum (VAT invoicing)
- No Essential may suffice
- Yes -> Professional minimum (VAT invoicing)
- No -> Essential may suffice
3. "How many people handle orders?"
- 1 Essential
- 2-3 Professional
- 4+ → Business
- 1 -> Essential
- 2-3 -> Professional
- 4-10 -> Business
- 10+ -> Enterprise
4. "Do you have multiple Letzshop accounts?"
- Yes Business
4. "Do you need analytics and reporting?"
- Yes -> Business minimum
5. "Do you need to connect to other systems (ERP, accounting)?"
- API needed -> Business
- Custom integration -> Enterprise
### Objection Handling
@@ -270,3 +321,6 @@ A focused Order Management System that works alongside Letzshop, not instead of
**"Why do I need Professional for EU invoices?"**
> "EU VAT rules are complex - wrong rate, wrong country, wrong invoice = compliance issues. We handle this automatically so your accountant doesn't have to fix it."
**"Business seems expensive"**
> "At 500+ orders/month, you're doing at least EUR 25,000/month in revenue. EUR 199 is less than 1% of that, and the analytics alone will help you find opportunities to grow."

View File

@@ -167,22 +167,22 @@ The goal is natural upgrade pressure based on **growth**, not artificial limits.
| Growth Signal | Triggers Upgrade To |
|---------------|---------------------|
| More orders | Higher tier (volume) |
| Shipping to EU | Pro (VAT invoicing) |
| Team grows | Pro/Business (users) |
| More products | Pro (locations, PO) |
| Multiple shops | Business (multi-vendor) |
| Shipping to EU | Professional (VAT invoicing) |
| Team grows | Professional/Business (users) |
| Needs analytics | Business (reporting) |
| Custom integrations | Enterprise (API/white-label) |
---
### Essential - EUR 49/month
**Target:** Solo vendors, getting started, Letzshop + 1 channel
**Target:** Solo vendors, getting started, Letzshop-focused
| Feature | Limit |
|---------|-------|
| Letzshop Order Sync | Up to 100 orders/month |
| Inventory Management | Up to 200 products |
| Basic Invoices (Luxembourg) | Included |
| Basic Invoices (Luxembourg VAT) | Included |
| Team Members | 1 user |
| Order History | 6 months |
| Email Support | 72h response |
@@ -207,44 +207,69 @@ The goal is natural upgrade pressure based on **growth**, not artificial limits.
| Order History | 24 months |
| Priority Email Support | 24h response |
**Why they upgrade:** Multiple team members, multiple Letzshop accounts, need API.
**Why they upgrade:** Hit 500 orders, need analytics/reporting, team grows beyond 3.
---
### Business - EUR 199/month
**Target:** Teams, high volume, multiple vendor accounts
**Target:** High-volume vendors, teams, data-driven operations
| Feature | Limit |
|---------|-------|
| Letzshop Order Sync | Unlimited orders |
| Letzshop Order Sync | Up to 2,000 orders/month |
| Everything in Professional | Included |
| **Multi-Vendor Support** | Multiple Letzshop accounts |
| **Analytics Dashboard** | Sales trends, top products, insights |
| **Accounting Export** | CSV/XML for accounting software |
| **Bulk Operations** | Mass updates, bulk invoicing |
| **Advanced Reporting** | Custom date ranges, exports |
| **API Access** | For custom integrations |
| **Accounting Export** | CSV/XML for accountants |
| **Automation Rules** | Auto-confirm, low-stock alerts |
| Team Members | 10 users |
| Team Roles & Permissions | Full RBAC |
| Order History | Unlimited |
| Phone Support | Available |
| Dedicated Onboarding | Included |
| Priority Support | 4h response, phone available |
**Why they upgrade:** Hit 2,000 orders, need white-label, need SLA, custom integrations.
---
### Enterprise - EUR 399+/month (Custom)
**Target:** Large operations, agencies, special requirements
| Feature | Notes |
|---------|-------|
| Everything in Business | Included |
| Unlimited Orders | No volume limits |
| Unlimited Team Members | As needed |
| **White-Label Option** | Remove Wizamart branding |
| **Custom Integrations** | Connect to ERP, accounting software |
| **Multi-Vendor Support** | Multiple Letzshop accounts |
| **SLA Guarantee** | 99.9% uptime |
| **Dedicated Account Manager** | Named contact |
---
### Feature Access by Tier
| Feature | Essential | Professional | Business |
|---------|:---------:|:------------:|:--------:|
| Letzshop Order Sync | 100/mo | 500/mo | Unlimited |
| Inventory Management | 200 SKU | Unlimited | Unlimited |
| Product Locations | - | ✓ | ✓ |
| Incoming Stock / PO | - | ✓ | ✓ |
| Basic Invoice (LU) | ✓ | ✓ | ✓ |
| EU VAT Invoice | - | ✓ | ✓ |
| Customer List | View | + Export | + Export |
| Team Members | 1 | 3 | 10 |
| Multi-Vendor | - | - | |
| API Access | - | - | |
| Order History | 6 mo | 24 mo | Unlimited |
| Feature | Essential | Professional | Business | Enterprise |
|---------|:---------:|:------------:|:--------:|:----------:|
| Letzshop Order Sync | 100/mo | 500/mo | 2,000/mo | Unlimited |
| Inventory Management | 200 SKU | Unlimited | Unlimited | Unlimited |
| Product Locations | - | Yes | Yes | Yes |
| Incoming Stock / PO | - | Yes | Yes | Yes |
| Basic Invoice (LU) | Yes | Yes | Yes | Yes |
| EU VAT Invoice | - | Yes | Yes | Yes |
| Customer List | View | + Export | + Export | + Export |
| Analytics Dashboard | - | - | Yes | Yes |
| Accounting Export | - | - | Yes | Yes |
| API Access | - | - | Yes | Yes |
| Automation Rules | - | - | Yes | Yes |
| White-Label | - | - | - | Yes |
| Multi-Vendor | - | - | - | Yes |
| Team Members | 1 | 3 | 10 | Unlimited |
| Order History | 6 mo | 24 mo | Unlimited | Unlimited |
---
@@ -260,12 +285,18 @@ The goal is natural upgrade pressure based on **growth**, not artificial limits.
- Product locations + PO = operational maturity
- 3 users = small team
3. **Business (EUR 199)** is for scale
- Multi-vendor = manages multiple Letzshop shops
- API = integrates with other systems
- 10 users = real team
3. **Business (EUR 199)** is for growth
- Analytics and automation justify the price jump
- 2,000 orders/month covers most high-volume vendors
- API enables custom workflows
- No multi-vendor requirement (most don't need it)
**Price anchoring:** EUR 99 is the target tier. EUR 49 exists to capture price-sensitive leads. EUR 199 exists to make EUR 99 look reasonable.
4. **Enterprise (EUR 399+)** captures high-value clients
- White-label for agencies/resellers
- Multi-vendor for the rare cases that need it
- SLA and dedicated support for critical operations
**Price anchoring:** EUR 99 is the target tier. EUR 49 captures price-sensitive leads. EUR 199 is for growth. EUR 399+ makes EUR 199 look reasonable.
---