Product Changelog
This document summarizes all recent changes, additions, and updates to the Placio platform features.
Recent Updates
Labs Module
Added: Comprehensive laboratory tests and analyses management system with reference ranges, result evaluation, and AI-powered interpretation.
Overview
The Labs module provides a complete solution for managing laboratory tests, analyses, and results. It includes automatic reference range matching based on client age and gender, conditional result notes, flag computation, and AI-powered interpretation of test results.
Key Features
-
Test Units Management
- Create and manage measurement units (e.g., mg/dL, mmol/L, units/L)
- Activate/deactivate units
- Workspace-scoped units
-
Analyses Management
- Create laboratory analyses with multiple display names (test name, report name, bill name, history name)
- Set pricing per analysis
- Associate with measurement units
- Define sample types
- Add website notes
-
Reference Ranges
- Age-based ranges with flexible units (days, weeks, months, years)
- Gender-specific or universal ranges (male, female, both)
- Priority-based matching (higher priority ranges matched first)
- Low and high limits with custom flags
- Conditional result notes with operators (
>=,<=,=,>,<) - Support for both numeric and string result values
- Reference notes and comments
-
Test Management
- Create lab tests for clients
- Multiple analyses per test
- Test status tracking (pending, in-progress, completed, billed, posted)
- Supervisor assignment
- Custom fields support
- Test date tracking
-
Result Evaluation
- Automatic matching of reference ranges based on client age and gender
- Flag computation (normal, low, high) based on matched range
- Conditional notes display when result matches specific conditions
- Support for numeric and text results
-
AI Interpretation
- AI-powered interpretation of test results using OpenAI
- Per-item interpretation
- Interpretation history tracking
-
Invoicing & Income Integration
- Generate invoices from completed tests
- Post test invoices to income records
- Track billing status per test
Access & Permissions
- Personas: Workspace Owner, Staff
- Module:
labs - Scope: Workspace-level
- UI Location: Dashboard > Labs
- Permissions:
labs.view: View labs module, analyses, tests, and test detailslabs.manage: Create, edit, and delete analyses, ranges, units, and testslabs.run: Enter test results and mark tests as completedlabs.billing: Generate invoices and post to income
Use Cases
- Medical Laboratory Management: Manage laboratory tests and analyses with comprehensive reference range support
- Test Result Tracking: Create tests for clients, enter results, and automatically match to reference ranges
- Billing Integration: Generate invoices from completed tests and post to income records
- Reference Range Management: Define multiple reference ranges per analysis with age and gender specificity
- AI Interpretation: Get AI-powered interpretation of test results for better understanding
Technical Details
- Module activation via workspace menu overrides
- Automatic age conversion for range matching
- Priority-based range matching algorithm
- Conditional result notes evaluation
- Integration with existing invoicing and income systems
- OpenAI integration for AI interpretation
Related Features
- Labs - Complete Labs module documentation
- Clients - Client management (includes date of birth and gender fields for Labs integration)
Workspace Subscription Info Tab in Settings
Added: Dedicated subscription information tab in workspace settings for workspace owners to view subscription details, monthly invoice additions, and expected renewal price.
Overview
A new "Subscription Info" tab has been added to the Workspace Settings page, providing workspace owners with comprehensive visibility into their subscription status, monthly charges, and expected renewal costs. This feature enhances billing transparency and helps workspace owners understand their subscription costs before renewal.
Key Features
-
Dedicated Subscription Tab
- New "Subscription Info" tab in Workspace Settings
- Separated from branding settings for better organization
- Accessible to all workspace owners
- Located at: Dashboard > Settings > Subscription Info
-
Current Subscription Display
- Current plan name and description
- Subscription status badge (Active/Warning/Expired)
- Remaining days until expiration (large, prominent display)
- Formatted expiration date
-
Monthly Invoice Additions
- Complete list of all monthly invoice additions
- For each addition displays:
- Reason/description
- Quantity and unit price
- Monthly total (quantity × unit price)
- Total monthly additions sum
- All prices displayed in workspace currency
-
Expected Renewal Price
- Real-time calculation of expected monthly renewal price
- Breakdown includes:
- Base plan price (monthly, with discount applied if applicable)
- Monthly invoice additions total
- Total monthly price
- Discount percentage indicator (if applicable)
- Currency symbol display
-
Renewal Link
- Direct link to renewal page when subscription is near expiration (10 days or less)
- Quick access to subscription renewal process
Access & Permissions
- Persona: Workspace Owner
- Module:
workspace-settings - Scope: Workspace-level
- UI Location: Dashboard > Settings > Subscription Info Tab
- Permissions: Available to all workspace owners (no special permissions required)
Use Cases
- Billing Transparency: View all charges included in monthly subscription before renewal
- Cost Planning: Understand expected renewal cost including all additions
- Subscription Monitoring: Track remaining days and subscription status
- Quick Renewal: Direct access to renewal page when needed
- Invoice Review: Review all monthly invoice additions and their costs
Technical Details
- Subscription information is fetched from workspace data
- Prices are calculated in real-time based on current plan and invoice additions
- Currency display uses workspace currency setting
- Discount calculation includes workspace discount percentage
- All calculations match renewal page pricing logic
Related Features
- Workspace Subscription - Complete subscription system documentation
- Workspace Settings - General workspace settings documentation
Admin Workspace Subscription Management & Invoice Additions
Added: Enhanced subscription management system for admin with invoice additions and additional storage control.
Overview
A comprehensive system that allows administrators to manage workspace subscriptions with custom invoice additions and additional storage allocation. The system provides detailed subscription information, pricing breakdowns, and full control over workspace billing.
Key Features
-
Subscription Information Tab
- Dedicated tab in admin workspace detail page for all subscription-related information
- Current plan display with remaining days and end date
- Comprehensive monthly price breakdown including:
- Base plan price
- Applied discount (if any)
- Price after discount
- Invoice additions (custom charges)
- Total monthly price
-
Invoice Additions Management
- Add custom, non-discountable charges to workspace monthly invoice
- Each addition includes:
- Reason/description
- Quantity
- Unit price
- Automatic total calculation (quantity × unit price)
- Full CRUD operations: Create, Read, Update, Delete
- Additions are added to monthly invoice without discount application
- Track creation date and admin who added the addition
-
Additional Storage Management
- Add extra storage (in MB) to workspace beyond plan allocation
- Total storage = Plan storage + Additional storage
- Storage quota calculation includes additional storage
- Real-time storage usage tracking with additional storage factored in
-
Subscription Management
- Discount management: Set workspace-specific discount percentage
- Subscription extension: Extend workspace subscription end date
- All subscription controls consolidated in one tab
-
Pricing Transparency
- Clear breakdown of all charges
- Visual distinction between plan price and additions
- Total monthly price calculation displayed prominently
- Notes explaining that additions are not subject to discount
Access & Permissions
- Persona: Admin only
- Module:
admin-workspaces - Scope: Platform-level
- UI Location: Admin Dashboard > Workspaces > [Workspace Detail] > Subscription Information Tab
- Permissions:
businesses.manage: Required to manage workspace subscriptions, invoice additions, and storage
Use Cases
- Custom Billing: Add custom charges for special services or one-time fees
- Storage Allocation: Provide additional storage to specific workspaces beyond plan limits
- Flexible Pricing: Apply workspace-specific discounts while maintaining custom charges
- Billing Transparency: Provide clear breakdown of all charges in monthly invoice
- Subscription Control: Full control over workspace subscription lifecycle
Technical Details
- Invoice additions are stored as subdocuments in workspace model
- Each addition has unique ID for tracking and management
- Storage quota calculation automatically includes additional storage
- Subscription renewal calculation includes invoice additions in total payment
- All changes are tracked with timestamps and admin IDs
Documentation
- API Documentation - API endpoints reference
Session Calendar Visual Enhancements
Updated: Enhanced session calendar with improved color scheme and RTL/LTR support for better visual clarity and internationalization.
Overview
Updated the session calendar interface with a new color system for session statuses, improved service indicators, and full RTL/LTR support for borders and service positioning.
Key Features
-
Enhanced Status Colors
- Scheduled (مجدولة): Light blue-grey background (#DEE6EA) with dark blue text (#003752) and blue border (#0084E2)
- In Progress (قيد التنفيذ): Light beige background (#EDE6DE) with dark orange text (#763F00) and orange border (#FF8000)
- Completed (مكتملة): Light green background (#E7F3E7) with dark green text (#005200) and green border (#00BC00)
- Cancelled (ملغاة): Light pink background (#F2E4E4) with dark red text (#882626) and red border (#C50003)
- All colors are configurable via constants at the top of the component
-
Service Indicators
- Services now display as dots with white background
- Positioned absolutely on the right side (LTR) or left side (RTL)
- Independent of session status colors for better visibility
- Maintains service color coding for easy identification
-
Border Styling
- Colored borders on the left side (LTR) or right side (RTL) of session blocks
- Border colors match status colors for visual consistency
- Full RTL/LTR support with automatic positioning
-
Legend Updates
- Updated color legend to reflect new status colors
- Displays both background and border colors for each status
- Clear visual indicators for all session states
Access & Permissions
- Persona: Workspace Owner, Staff (with session permissions)
- Module:
sessions - Scope: Workspace-level
- UI Location: Dashboard > Sessions > Calendar View
- Permissions:
sessions.view: Required to view calendarsessions.manage: Required to create/edit sessions
Use Cases
- Visual Clarity: Improved color contrast makes session statuses easier to identify at a glance
- Internationalization: Full RTL/LTR support ensures proper display for Arabic and English interfaces
- Service Identification: Service indicators remain visible regardless of session status color
- Accessibility: Better color contrast improves readability for all users
Technical Details
- Colors are defined in
SESSION_STATUS_COLORSconstant for easy customization - Border positioning automatically adjusts based on document direction (RTL/LTR)
- Service indicators use absolute positioning with white background for visibility
- All changes are backward compatible with existing sessions
Documentation
- Session Calendar Guide - Complete calendar documentation
Multi-Factor Authentication (MFA) System
Added: Complete multi-factor authentication system for enhanced account security.
Overview
A comprehensive MFA system that allows admin and workspace accounts to enable additional authentication layers beyond passwords. The system supports multiple authentication methods and provides backup recovery options.
Key Features
-
Admin MFA
- TOTP (Time-based One-Time Password) support
- Authenticator app integration (Google Authenticator, Authy, Microsoft Authenticator)
- QR code setup
- Challenge-based verification during login
-
Workspace MFA
- Phone OTP: SMS-based one-time password
- TOTP: Authenticator app support
- Backup Codes: Recovery codes for account access
- Multiple methods can be enrolled simultaneously
- Primary method selection
-
Security Features
- Encrypted secret storage
- Challenge-based verification (prevents replay attacks)
- Maximum attempt limits (5 attempts per challenge)
- Challenge expiration (typically 10 minutes)
- Replay protection for TOTP codes
-
MFA Management
- View enrolled methods
- Set primary method
- Enable/disable methods
- Generate and regenerate backup codes
- View remaining backup codes count
Access & Permissions
-
Admin MFA:
- Persona: Admin
- Module:
admin-auth - Scope: Platform-level
- UI Location: Admin Settings > Security
-
Workspace MFA:
- Persona: Workspace Owner
- Module:
workspace-security - Scope: Workspace-level
- UI Location: Dashboard > Settings > Security
Use Cases
- Enhanced Security: Add extra layer of protection to accounts
- Compliance: Meet security requirements for sensitive operations
- Account Protection: Prevent unauthorized access even if password is compromised
- Flexible Authentication: Support different MFA methods based on user preference
- Account Recovery: Backup codes provide recovery option if device is lost
Documentation
- Admin MFA API - Admin MFA endpoints
- Workspace MFA API - Workspace MFA endpoints
- API Changelog - MFA - API changes
Recurring Expenses Management System
Added: Complete recurring expenses management system for automating and tracking recurring workspace expenses.
Overview
A comprehensive system that allows workspace owners to create rules for recurring expenses (rent, subscriptions, utilities, etc.) and automatically generate expense occurrences. The system tracks upcoming, pending, posted, and skipped occurrences, and allows users to post occurrences as actual expenses or skip them.
Key Features
-
Recurring Expense Rules
- Create rules with frequencies: Daily, Monthly, Yearly
- Set fixed amount per occurrence
- Configure scheduling: start date, end date (optional), day of month (monthly), month of year (yearly)
- Add metadata: title, vendor, category, account, notes
- Control rule status: Active or Paused
-
Automatic Occurrence Generation
- System automatically generates expense occurrences based on rules
- Daily rules: Creates occurrences every day from start date
- Monthly rules: Creates occurrences on specified day of month
- Yearly rules: Creates occurrences on specified month and day of year
-
Occurrence Management
- Statuses: Upcoming, Pending, Posted, Skipped
- Post Occurrence: Convert occurrence to actual expense record with custom date
- Skip Occurrence: Mark occurrence as skipped without creating expense
- View occurrence details and history
-
Advanced Filtering
- Filter rules by status (active, paused) and frequency
- Filter occurrences by rule, date range, status, and frequency
- Pagination support for both rules and occurrences
-
Statistics Dashboard
- Pending occurrences: Count and total amount
- Posted occurrences: Count and total amount
- Upcoming occurrences: Count and total amount
- Skipped occurrences: Count and total amount
-
Dashboard Widgets
recurring-expenses-stats: Comprehensive statistics widgetupcoming-recurring-expenses: List of next 5-10 upcoming occurrencesrecurring-expenses-this-month: Total value for current monthpending-recurring-expenses: Count and value of pending occurrencesactive-recurring-expense-rules: List of active rulesrecurring-expenses-by-frequency: Chart showing distribution by frequency
Access & Permissions
- Persona: Workspace Owner, Staff (with financial permissions)
- Module:
workspace-financial - Scope: Workspace-level
- UI Location: Dashboard > Payments & Expenses > Recurring Expenses Tab
- Permissions:
financial.view: Required to view recurring expensesfinancial.manage: Required to create, update, or delete rules
Use Cases
- Rent Management: Automatically track monthly rent payments
- Subscription Tracking: Monitor recurring subscriptions (software, services, memberships)
- Utility Bills: Track monthly utility expenses (electricity, water, internet)
- Salary Payments: Automate salary expense tracking
- Annual Expenses: Track yearly expenses (insurance, licenses, renewals)
- Budget Planning: Plan for recurring expenses in advance
Documentation
- API Documentation - API endpoints reference
- Workspace Financial Management - Complete financial management documentation
Workspace SMS Tracking
Added: Complete SMS tracking system for monitoring SMS usage and managing payments at workspace level.
Overview
A comprehensive system that allows workspace owners to monitor SMS usage, track message history, manage SMS payments/credits, and view detailed statistics. The system tracks balance, costs, and provides warnings when balance is low.
Key Features
-
SMS Summary Dashboard
- Current SMS balance
- Total messages sent
- Total cost incurred
- Remaining balance
- Minimum allowed balance threshold
- Balance status indicators (Sufficient, Low, Insufficient)
-
Message Tracking
- View all sent SMS messages
- Filter by message type (OTP, notification, other)
- Filter by delivery status (pending, sent, failed)
- View message details: recipient, content, cost, timestamp
- Pagination support (20 messages per page)
-
Payment Management
- View all SMS payments/credits
- Create new payment records
- Edit payment details (amount, method, date, description, notes)
- Delete payment records
- Upload receipt images for payments
- Track payment history
-
Balance Management
- Sufficient Balance: Green indicator - SMS sending enabled
- Low Balance: Yellow warning - Balance negative but above minimum threshold
- Insufficient Balance: Red alert - Balance below minimum, SMS sending disabled
- Minimum allowed balance: -$0.12 (default)
-
Cost Calculation
- Constant cost per message: $0.05
- Costs deducted from balance immediately
- Running balance maintained automatically
Access & Permissions
- Persona: Workspace Owner
- Module:
sms-tracking - Scope: Workspace-level
- UI Location: Dashboard > Settings > SMS Tracking
- Permissions: Workspace Owner has full access
Use Cases
- Usage Monitoring: Track SMS usage over time
- Budget Management: Monitor SMS balance and plan for top-ups
- Message Audit: Review sent messages and verify delivery
- Cost Analysis: Analyze SMS costs and identify patterns
- Balance Management: Monitor balance levels and prevent service interruption
- Compliance: Maintain records of sent messages for compliance
Documentation
- SMS Tracking Guide - Complete feature documentation
- API Documentation - API endpoints reference
Payments Management System
Added: Unified payments management system for tracking all workspace payments in a single interface.
Overview
A comprehensive system that consolidates all workspace payments across different payment types (AI Tools, SMS, Storage, Subscription) into one centralized view. The system automatically records payments from subscription renewals and allows administrators to manually add payments for offline transactions.
Key Features
-
Unified Payment Tracking
- View all workspace payments in a single table
- Support for four payment types: AI Tools, SMS, Storage, Subscription
- Multiple payment methods: Cash, Bank Transfer, Card, Other
-
Automatic Payment Recording
- Subscription renewals are automatically recorded
- SMS payments are automatically linked
- AI tools payments are automatically linked
- System-generated payments cannot be edited or deleted
-
Manual Payment Management
- Add manual payments for offline transactions
- Edit payment details (amount, method, date, description, notes)
- Delete manual payments (with confirmation)
- Upload receipt images for manual payments
-
Advanced Filtering
- Period filter: Daily, Weekly, Monthly, Custom Range
- Payment type filter: Filter by AI Tools, SMS, Storage, or Subscription
- Workspace filter: Searchable dropdown to filter by specific workspace
- Date range: Custom date range selection with calendar picker
-
Payment Statistics
- Total payments (all-time)
- This month's payments
- This week's payments
- Today's payments
- Statistics update automatically based on applied filters
-
Searchable Workspace Dropdown
- Real-time search by workspace name or email
- Debounced search (300ms) for performance
- Displays workspace name and email
- Click-outside to close
Access & Permissions
- Persona: Admin only
- Module:
payments - Scope: Platform-level
- UI Location: Admin Dashboard > Payments
- Permissions:
payments.view: Required to view paymentspayments.manage: Required to create, update, or delete payments
Use Cases
- Revenue Tracking: Monitor total revenue from all payment types
- Workspace Billing: Track payments per workspace
- Payment Reconciliation: Match offline payments with system records
- Financial Reporting: Generate reports by date range, type, or workspace
- Audit Trail: Maintain complete payment history
Documentation
- Payments Management Guide - Complete feature documentation
- API Documentation - API endpoints reference
Expenses Management System
Added: Complete expenses management system for tracking platform operational costs.
Overview
A comprehensive system for tracking and managing all platform expenses across different categories. Admins can record expenses, attach receipt images, and view detailed statistics with category breakdowns.
Key Features
-
Expense Categories
- Services: Service-related expenses
- Salaries: Employee salaries and wages
- Rent: Office rent and facility costs
- Utilities: Utility bills (electricity, water, internet)
- Marketing: Marketing and advertising expenses
- Other: Other miscellaneous expenses
-
Expense Management
- Create new expense records
- Edit expense details (amount, date, description, category, notes)
- Delete expense records
- Upload and attach receipt images
- View expense details with full history
-
Advanced Filtering
- Filter by expense category
- Filter by date range (custom date selection)
- Pagination support (default: 20 items per page)
-
Expense Statistics
- Total expenses (all-time)
- This month's expenses
- This week's expenses
- Today's expenses
- Breakdown by category (services, salaries, rent, utilities, marketing, other)
-
Receipt Management
- Upload receipt images (WebP format)
- Automatic image optimization
- Receipt metadata (dimensions, size, content type)
- Receipt storage in Google Cloud Storage
Access & Permissions
- Persona: Admin only
- Module:
dashboard - Scope: Platform-level
- UI Location: Admin Dashboard > Expenses (planned)
- Permissions:
dashboard.view: Required to view expenses
Use Cases
- Cost Tracking: Track all platform operational costs
- Budget Management: Monitor expenses by category
- Financial Reporting: Generate expense reports for accounting
- Receipt Management: Maintain digital receipt archive
- Audit Trail: Complete expense history with receipts
Documentation
- API Documentation - API endpoints reference
Dashboard Enhancements
Updated: Admin dashboard with enhanced financial overview and analytics.
New Features
-
Payment Statistics
- Payment statistics (today, this week, this month)
- Revenue breakdown by payment type:
- AI Tools payments
- SMS payments
- Storage payments
- Subscription payments
- Monthly recurring revenue (MRR)
-
Expense Statistics
- Expense statistics (today, this week, this month)
- Expense count and totals
- Category breakdown (in detailed revenue view)
-
Revenue Analysis
- Time-series breakdown of revenue and expenses
- Net income calculation (revenue - expenses)
- Support for multiple time periods:
- Today
- This week
- This month
- Custom date range
- Detailed breakdown by time buckets
-
Enhanced Overview
- Combined view of payments and expenses
- Quick statistics cards
- Attention orders and alerts
- Platform health indicators
Access & Permissions
- Persona: Admin only
- Module:
dashboard - Scope: Platform-level
- UI Location: Admin Dashboard > Overview
- Permissions:
dashboard.view: Required to view dashboard
Documentation
- Dashboard Guide - Complete dashboard documentation
- API Documentation - API endpoints reference
Integration Details
Automatic Payment Creation
The system automatically creates payment records when:
-
Subscription Renewal
- Trigger: When workspace renews subscription
- Location: Client subscription renewal page
- Details Recorded:
- Payment amount (calculated from plan price)
- Applied discount (if workspace has discount)
- Payment method (card or other for WhatsApp)
- Plan information in metadata
- Status: Automatic payment (
isManual: false)
-
SMS Payments
- Trigger: When admin adds SMS payment via SMS tracking page
- Details Recorded:
- Payment amount
- Payment method
- Receipt image (if provided)
- Linked to original SMS payment record
- Status: Manual payment (
isManual: true)
-
AI Tools Payments
- Trigger: When admin adds AI tools payment via AI tracking page
- Details Recorded:
- Payment amount
- Payment method
- Receipt image (if provided)
- Linked to original AI payment record
- Status: Manual payment (
isManual: true)
UI/UX Improvements
Admin Dashboard
-
Payments Page
- Clean, modern table design
- Responsive layout
- Real-time data updates
- Intuitive filtering interface
- Statistics cards with visual indicators
-
Searchable Dropdowns
- Real-time search functionality
- Debounced input for performance
- Clear visual feedback
- Keyboard navigation support
-
Form Modals
- User-friendly payment/expense forms
- Image upload with preview
- Validation and error handling
- Loading states and feedback
Data Structure
Payment Data
Each payment record includes:
- Basic Information: ID, workspace, type, amount, method, date
- Descriptive Fields: Description, notes
- Receipt: Receipt image (URL, path, dimensions, size)
- Metadata: Type-specific additional data
- Tracking: Created by (for manual payments), timestamps
Expense Data
Each expense record includes:
- Basic Information: ID, amount, date, description, category
- Receipt: Receipt image (URL, path, dimensions, size)
- Notes: Additional notes about the expense
- Tracking: Created by, timestamps
Best Practices
Payments
- Add Receipts: Always upload receipt images for manual payments when available
- Accurate Dates: Ensure payment dates match actual transaction dates
- Descriptive Notes: Add notes for context (e.g., "Payment received via bank transfer, reference #12345")
- Regular Reconciliation: Periodically review and reconcile payments
- Filter Usage: Use filters to focus on specific time periods or workspaces
Expenses
- Categorize Correctly: Use appropriate expense categories for accurate reporting
- Attach Receipts: Always upload receipt images when available
- Detailed Descriptions: Provide clear descriptions for expense tracking
- Regular Updates: Keep expense records up to date
- Review Statistics: Regularly review expense statistics to identify trends
Future Enhancements
Payments
- Export payments to CSV/Excel
- Payment reports and analytics
- Recurring payment management
- Payment reminders
- Integration with accounting systems
- Payment reconciliation tools
- Automated payment matching
Expenses
- Expense approval workflows
- Budget tracking and alerts
- Expense reports and analytics
- Category management (add/edit/delete categories)
- Recurring expense management
- Expense templates
Dashboard
- Advanced analytics and insights
- Custom date range comparisons
- Export capabilities (CSV, PDF)
- Real-time updates via WebSocket
- Customizable dashboard widgets
- Financial forecasting
Version History
- v1.0.0 (Current): Initial release with payments and expenses management
- All features follow the standard Placio versioning policy
Related Documentation
- API Changelog - API changes and updates
- Payments Management - Complete payments feature guide
- Dashboard Guide - Dashboard documentation
- Personas - User roles and permissions