Current Status
MIDDAG Account is in active development. This page provides an honest view of what exists today, what is coming next, and what is part of the longer-term vision.
Feature availability
Available now
These features have working implementations in the current codebase.
Core domains
| Feature | Description |
|---|---|
| Organizations | Create, view, and manage B2B customer organizations |
| Collaborators | Team members with role-based access per organization |
| Entitlements | Central lifecycle tracking with unique codes, four states (active, suspended, expired, cancelled), and six entitlement classes |
| Orders | WooCommerce order integration, linked to organizations and entitlements |
| Invoices | Financial records linked to orders and entitlements |
| Tax Invoices (NFSe) | Brazilian tax invoice generation via ISSNet integration |
| Quotes | Commercial proposals with lifecycle management |
| Licenses | Software license management with site activation |
| Contracts | Service agreements with document attachments |
| Environments | Managed hosting environments with parent-child hierarchy |
| Services | Service type definitions (hosting, support, consulting, development, etc.) |
| Service Requests | Task and ticket tracking against entitlements with SLA monitoring |
| Documents and Downloads | File management and distribution linked to entitlements |
| Affiliates | Partner program tracking via SolidAffiliate integration |
Integrations
| Integration | Status | What it does |
|---|---|---|
| Stripe | Available | Payment processing, dual-account support (BR and US), webhook handling |
| HubSpot | Available | CRM sync, dual-account support (BR and US), deal pipeline integration |
| ISSNet | Available | Brazilian tax invoice (NFSe) generation for Brasilia/DF via SOAP |
| Banco Inter | Available | Brazilian payment methods: Pix and Boleto |
| Cloudflare | Available | D1 database and R2 object storage |
| Jira | Available | Service request sync, issue and worklog management |
Infrastructure
| Feature | Description |
|---|---|
| REST API v1 | Full API with triple authentication (WordPress nonce, JWT, WooCommerce keys) |
| Admin UI | React-based admin interface within WordPress (Inertia.js) |
| WooCommerce integration | Products, checkout, payment status mapping |
| Policy Engine | Configurable rules at five levels: global, class, organization, product, entitlement |
| Entitlement Classes | Six classes: Plugin, Environment, Service, Order, Affiliate, Education |
| Multi-entity support | Dual legal entity routing (BR and US) |
| Webhook handling | Inbound webhooks from Stripe, HubSpot, and Banco Inter with signature validation |
Planned
These features are in the next development cycle. Specifications are in progress.
New domains
| Feature | Description |
|---|---|
| Contact | Pre-registration leads, before they become collaborators |
| Project | Service delivery instances, linking contracts to milestones |
| Credit Balance | Credit tracking per entitlement, consumption history, top-ups |
| Product Registry | Bridge between WooCommerce products and entitlement classes with policy overrides |
| Legal Entity | Formal modeling of business entities with multi-entity routing rules |
New integrations
| Integration | Description |
|---|---|
| Chatwoot | Customer support ticket sync |
| Outbound webhooks | Event catalog for external system notifications |
Enhancements
| Feature | Description |
|---|---|
| Setup Wizard | Guided initial configuration: entity, entitlement classes, WooCommerce connection, first organization |
| Customer portal | Self-service portal for end customers (quote acceptance, license management, service requests) |
| Auto-provisioning | Automatic creation of downstream resources when an entitlement is created after payment |
| Renewal automation | Automated renewal workflows with configurable grace periods and retry logic |
| Admin dashboard | Metrics, alerts, and operational overview on the main admin screen |
Aspirational
These features are part of the product vision. They represent committed direction, not a wishlist, but they do not have scheduled timelines.
| Feature | Description |
|---|---|
| SaaS hosting (Campus EAD / MIDDAG Pro) | Managed Moodle instances as a service line |
| Billing reports and analytics | Revenue dashboards, entitlement analytics, financial reconciliation |
| Cron health monitoring | Admin notices for cron job health and scheduled task status |
| Theme-overridable email templates | Customizable email notifications with template system |
| TypeScript types package | Published npm package with API response types for portal developers |
| OpenAPI specification | Machine-readable API spec for REST API v1 |
| White-label portal support | Branding customization for agencies building portals for their clients |
| CI/CD automated testing gate | Continuous integration with coverage thresholds and quality gates |
Admin UI coverage
The admin interface is being built progressively. Current state:
| Screen | Status |
|---|---|
| Dashboard | Available |
| Organizations | Available |
| Entitlements | Available |
| All other admin screens | Planned |
Documentation coverage
This documentation site (docs-site) is being written alongside the product. Content is organized by phase:
| Section | Status |
|---|---|
| Overview | In progress (you are reading it) |
| Getting Started | Planned |
| Core Concepts | Planned |
| Operating Model | Planned |
| Admin Guide | Planned |
| Commerce | Planned |
| Integrations | Planned |
| Recipes | Planned |
| Policies | Planned |
| Reference (developer) | Planned |
| Roadmap | Planned |
How to read status markers
Throughout this documentation, you will see status markers:
- Available -- The feature is implemented and working in the current release.
- Planned -- The feature is in the next development cycle. A specification exists or is being written.
- Aspirational -- The feature is part of the product vision. It represents committed direction but does not have a scheduled timeline.
When a page in docs-site describes behavior that is not yet implemented, the page frontmatter will indicate status: planned or status: aspirational. Pages marked status: spec describe intended behavior that code should implement.