Softbooq Enterprise Cloud
A record of new features, improvements, and fixes shipped to Softbooq.
Softbooq AI is now its own surface at ai.softbooq.com — a dedicated workspace for the conversational assistant with its own Wallet, Top-up, Actions, and Admin Usage views. Same single sign-on, same tenant data.
console.softbooq.com — internal operator surface for managing tenants, AI credits, and platform admins. Code-complete with full RLS, deployed against the same shared identity layer.
Supabase backend now lives at db.softbooq.com via Supabase Custom Domains. Edge functions, Auth, and Storage all consolidated under one branded URL. Original supabase.co URL still resolves via CNAME alias for zero-downtime migration.
Unified cloud file manager for Google Drive, OneDrive, SharePoint, Dropbox, and Box — available as a progressive web app on desktop, tablet, and mobile. Multi-tab browser interface, native folder navigation, resizable sidebar, and per-user connector management backed by Supabase.
Softbooq AI now retrieves and reasons over your real business data — invoices, contracts, employees, projects, and stock. Answers are grounded in your tenant's records, not just general knowledge.
Token-based settlement replaces the flat 1-credit-per-chat model. Per-request hard caps (10 normal / 3 trial), tool-round and output-token limits, mid-loop abort with refund, and a CI guard preventing rogue Anthropic SDK imports outside the ai-chat function.
27 edge functions migrated to a shared resolveTenantContext + assert_tenant_admin_of pattern. Every privileged path now performs tenant ownership checks before any DB write.
All 8 Settings tabs now have purpose-built mobile variants. Banking (Stripe connect inline), Notifications (toggle groups), Preferences (native selects), Org Security (policy drill-ins), Legal & Compliance (textarea editing), and Email Templates (read-only with desktop notice) were each rebuilt for 375 px viewports with 44 px minimum touch targets.
Fixed Supabase auth hook overwriting the PostgREST-reserved `role` claim. Custom role is now written as `userRole` so RLS policies and PostgREST role resolution work correctly side-by-side.
OAuth-based bidirectional contact sync with HubSpot CRM. Nightly cron keeps both sides aligned. CRM contact rows show a HubSpot badge when linked. Settings → Integrations → HubSpot for one-click connect.
Predictive stock depletion across all warehouses with AI-narrated recommendations. Nightly forecast cron, on-demand Gemini explanations per item, and a one-click "Create PO" path straight into Procurement.
New Profitability tab in Reports with 6 KPIs (gross margin, net margin, fulfilment cost, refund impact, channel mix, top/bottom orders) and a virtualised per-order table. Auto-COGS trigger backfills cost on every sale.
Batch outbound payments via bank file export (SEPA, BACS, ACH). Create a run, select invoices or payroll entries, export a signed bank file, and mark the run as executed. Full audit trail per run.
Bring your own Wise and Revolut API keys to send outbound payments directly from the ERP. Keys stored in Supabase Vault. Integrated into Settings → Payments with live balance and transfer history.
Support for Brevo, SendGrid, Microsoft 365, and Custom SMTP (including Google Workspace). M365 OAuth fixed with the admin-consent flow. Tenant mapper fully rewritten to eliminate cross-tenant routing errors.
Resolved recharts rendering crash on the Attendance dashboard. ClockInOutWidget now reflects live clock-in state. Grant Access flow patched for edge cases where the employee row was missing a linked user.
OAuth-based connection to Xero for accountants. Contact sync and ERP-to-Xero invoice push, fully automated. Reconciliation links Xero invoice IDs back to the source ERP record.
Self-hosted WordPress storefronts now sync via Consumer Key — no OAuth required. Full feature parity with Shopify: products, orders, inventory push, refund and fulfilment webhooks.
Three-pass bank statement matcher (HIGH / MEDIUM / LOW confidence) with a Reconciliation Workbench in Reports. Nightly pg_cron run keeps unmatched lines fresh. Manual override audited per match.
sales_channels table unifies Shopify, WooCommerce, POS, and direct sales as first-class channels. New Channels tab in Settings and a Channel Performance report in Reports — see revenue, margin, and fulfilment time by source.
196 end-to-end tests across the ERP, Accounts hub, and Files app using Playwright. Covers critical flows: authentication, invoicing, contracts, HR payroll, client portal, and storefront checkout.
Main JS bundle reduced from 539 kB to 350 kB (gzip). All 20 top-level modules moved to React.lazy(). AuthenticatedApp extracted as a lazy chunk. Vendor-react chunk isolated to prevent cache invalidation on every deploy.
P0 fixes: Stripe webhook signature validation, auth session hardening, and row-level security policies across all tenant tables. P1 fixes: client portal token scoping, Edge Function JWT enforcement, and admin panel access controls.
OAuth flow, real-time webhooks (orders, fulfilments, refunds, inventory), two-way stock sync, fulfilment and refund push to Shopify, plus an outbound inventory queue with a 2-minute reconciliation cron. Date-range and per-entity import selection in the Integrations UI.
New Quotes tab in Sales — draft, send, and convert quotes into invoices in one click. Email templates, e-sign acceptance, and full audit trail.
Internal super-admin dashboard for managing tenants, subscriptions, feature flags, and billing. Includes Stripe customer lookup, plan overrides, usage metrics, and audit log viewer.
Built-in travel booking powered by the Travelpayouts API. Search flights, hotels, and car rentals within the ERP. Bookings linked to expense records and employee profiles.
Bill of materials, production orders, work-centre scheduling, and yield tracking. Integrates with Inventory for real-time stock deduction on production completion.
© 2026 Softbooq by Everbright & Co. - Germany, European Union