CXSuite
Releases
A running history of what changed in CXSuite, one release at a time.
Current Release
CXSuite v1.3.0
Build 20260914.01
Customer contract type, quotation GST-as-percentage with new clauses/disclaimer/logo, a Donation/CSR rename, a ticket helpdesk overhaul (preview-gated customer notifications + a strict 24-hour SLA penalty ledger), and a 3-month contractual-employee renewal cycle.
Added
- Customer "Contract Type" field (One-Time, Monthly Retainer, Annual Retainer, AMC, Project-Based) alongside Contract Value, shown on the customer list, detail page, and Add Customer modal
- Add Customer form moved into a modal dialog; Notes is now a multi-line textarea
- Quotation GST (CGST/SGST/IGST) is now entered as a percentage of the subtotal instead of a fixed rupee amount, with an editable "Edit Quotation" panel for draft quotations
- Quotation "Recurring / Renewal Cost" notes and "Terms & Conditions" notes fields, settable at creation and editable while in draft
- Printed quotation now includes the Fistreet/CXSuite logo, a standard payment-acceptance clause, and a disclaimer section
- Ticket customer notifications (email + WhatsApp) on creation and status change, gated behind an admin-facing preview/confirm step on the ticket detail page — nothing sends until admin clicks "Send to Customer"
- Ticket SLA: a strict 24-hour TAT from creation to Resolved/Closed, with an hourly ₹100 penalty automatically charged against the assigned employee for every hour past the deadline (`tickets:check-sla`, scheduled hourly); shown as an SLA banner on the ticket page and a running penalty ledger on the employee profile
- Contractual employees get a strict 3-month contract term cycle from their joining date (`employee_contract_terms`), auto-created when set to Contractual; an overdue term surfaces a renewal review banner on the employee profile requiring Renew (optionally at a revised hourly rate, opening the next 3-month term) or End Contract (deactivates the employee), with performance notes recorded against the term
Changed
- Donation Fund renamed to "Donation/CSR" across the admin sidebar and its page (no change to the existing 10% auto-split or fund-tracking logic, which was already in place and verified working)
- Ticket status updates and admin-created tickets no longer send customer notifications automatically — the admin now reviews an exact preview and sends explicitly
Database
- customers: contract_type
- quotations: cgst_percent, sgst_percent, igst_percent, recurring_notes, terms_conditions
- tickets: resolved_at, last_notified_status, last_notified_at
- New table: ticket_sla_penalties (ticket_id, employee_id, penalty_hour, amount)
- New table: employee_contract_terms (employee_id, term_number, start_date, end_date, hourly_rate, decision, performance_notes, decided_by, decided_at)
Tax amounts (cgst_amount/sgst_amount/igst_amount/tax_amount) remain stored, now derived from the new percent columns via Quotation::recalculateTotals() so existing reports/exports/customer portal views are unaffected. The customer-submitted ticket acknowledgement (portal self-service) still auto-sends immediately, since there is no admin in that loop to preview it — only admin-driven ticket actions gained the preview/confirm step.
Build 20260819.01
Employee HR record + portal password login, task assignment/notification/calendar/daily-report system, live WhatsApp Open API.
Added
- Employee HR fields: PAN, Aadhaar, joining date/time, employment type, probation/notice period, department, designation, employee level, manager hierarchy
- Auto-generated employee code (FSPL-year-month-sequence) and bank details on the employee record
- Employee portal password login alongside OTP, with auto-generated credentials and a welcome email
- System Lists module (Departments/Designations/User Levels/Employee Levels), seeded with 104 IT-company defaults
- Bidirectional task assignment (employee/manager/admin) with in-app + email notifications, task calendar views, daily work report submission, and a scheduled 8AM WhatsApp task digest
Changed
- WhatsApp settings switched to live eSuite Cloud Open API credentials; Meta Official Cloud API section collapsed as unused
Database
- employees: employee_code, manager_id, password, department, employee_level, bank_name, bank_account_number, bank_ifsc_code, bank_address
- follow_up_tasks: assigned_by_employee_id
- New tables: system_list_items, employee_daily_reports
Deployed to production via FTP (zip + self-deleting extractor) with database changes applied by the owner directly via phpMyAdmin, per this host having no SSH/CLI access.
Build 20260814.01
Legal centre, commercial agreements and a proper Contact Us channel.
Added
- Legal Centre hub page linking every company/legal document
- Master Service Agreement, Program Agreement, Developer Agreement and Disclosure pages
- Contact Us page with a routed, validated enquiry form (sales, demo, trial, implementation, support, partnership, general)
- Public Release History page
Changed
- Privacy Policy and Terms of Service moved onto a shared, reusable legal-page layout with document navigation
- Site footer expanded with a dedicated Legal column and version tag
Database
- Added contact_requests table
First tracked release under the new project-wide semantic versioning convention. Prior site history predates formal versioning and is treated as the 1.0.0 baseline.
Build baseline
Pre-versioning baseline — the CXSuite marketing site as it existed before formal release tracking began. See CHANGELOG.md for the full session-by-session history.
Not a real release event — recorded so 1.1.0 has a documented starting point.