Skip to content

Available Now

These features have working implementations in the current release of MIDDAG Account. Each item listed below is functional, tested, and available for use in production environments.

For the complete status overview, see Current Status.

Core Domains

DomainDescriptionNotes
OrganizationsCreate, view, and manage B2B customer organizationsPrimary tenant boundary
CollaboratorsTeam members with role-based access per organizationInvite flow, role assignment
EntitlementsCentral lifecycle tracking with unique codes ({CLASS}-{YYYYMM}{SEQ:4d}), four states, six classesHub of all downstream records
OrdersWooCommerce order integration, linked to organizations and entitlementsAutomatic entitlement creation on purchase
InvoicesFinancial records linked to orders and entitlementsDual-entity (BR/US) support
Tax Invoices (NFSe)Brazilian tax invoice generation via ISSNet SOAP integrationBrasilia/DF issuer
QuotesCommercial proposals with lifecycle managementDraft, sent, accepted, rejected, expired
LicensesSoftware license management with site activation trackingActivation limits, domain binding
ContractsService agreements with document attachmentsLinked to entitlements
EnvironmentsManaged hosting environments with parent-child hierarchyUsed by ENV entitlement class
ServicesService type definitions (hosting, support, consulting, development)Linked to entitlement classes
Service RequestsTask and ticket tracking against entitlements with SLA monitoringJira sync available
DocumentsFile management and distribution linked to entitlementsDownloads, attachments
AffiliatesPartner program tracking via SolidAffiliate integrationCommission tracking

Commerce

FeatureDescription
WooCommerce ProductsProduct catalog with entitlement class mapping
Checkout IntegrationWooCommerce checkout creates orders and entitlements automatically
Payment Status MappingOrder status changes propagate to entitlement lifecycle
Policy EngineConfigurable rules at five levels: global, class, organization, product, entitlement
Entitlement ClassesSix classes: Plugin, Environment, Service, Order, Affiliate, Education
Multi-Entity SupportDual legal entity routing for BR and US operations
Entitlement CodesUnique identifiers: {CLASS}-{YYYYMM}{SEQ:4d} format, seven generator classes

Integrations

IntegrationDirectionWhat It Does
StripeInboundPayment processing, dual-account (BR and US), webhook signature validation
HubSpotInboundCRM sync, dual-account (BR and US), deal pipeline integration
ISSNetOutboundBrazilian tax invoice (NFSe) generation for Brasilia/DF via SOAP
Banco InterInboundBrazilian payment methods: Pix and Boleto, webhook handling
CloudflareOutboundD1 database and R2 object storage
JiraBidirectionalService request sync, issue and worklog management

All inbound integrations validate webhook signatures before processing:

  • Stripe: Stripe-Signature header via constructEvent()
  • HubSpot: X-HubSpot-Signature header validation
  • Banco Inter: Certificate-based signature verification

Infrastructure

FeatureDescription
REST API v1Full API under middag-account/v1 with standard envelope responses
Triple AuthenticationWordPress nonce, JWT RS256, and WooCommerce consumer keys
Organization BoundaryAll API queries enforce organization_id isolation via X-Middag-Organization
Admin UIReact 19 + Inertia.js v2 admin interface within WordPress
Vite Build PipelineVite 6 builds IIFE bundle to assets/dist/app.js
Webhook HandlingInbound webhooks from Stripe, HubSpot, and Banco Inter with signature validation
Symfony DI ContainerConstructor injection throughout, auto-discovery by class suffix
Custom Post TypesAll domains stored as middag_{domain} CPTs with show_ui => false
Capability HierarchyCustom capabilities with user_has_cap filter
Cron DelegationWP Cron thin handlers delegating to domain services
i18nEnglish-first, text domain middag-account, ready for translation

Admin UI Coverage

ScreenStatus
DashboardAvailable
OrganizationsAvailable
EntitlementsAvailable
All othersPlanned

The admin UI uses a PageContract pipeline with @middag-io/react components, Tailwind v4 styling, and Inertia.js v2 for SPA navigation within WordPress.

What "Available" Means

A feature marked Available has:

  1. A working domain entity and service layer in pure PHP
  2. A WordPress repository implementation
  3. REST API endpoints with authentication and authorization
  4. Unit test coverage for domain logic
  5. Integration with the entitlement lifecycle where applicable

Features may still receive enhancements. "Available" means functional and usable, not frozen.