Comprehensive troubleshooting guide covering common issues, installation problems, authentication errors, performance optimisation, browser compatibility, mobile responsiveness, data issues, integration failures, frequently asked questions, and error code reference.
This section covers the most frequently reported issues encountered by NDSS CRM users, along with step-by-step resolution procedures.
Symptoms: The login form displays "Invalid email or password" after entering credentials.
Possible Causes:
Resolution Steps:
Symptoms: After login, a page displays a white screen, an infinite loading spinner, or the content area remains empty.
Possible Causes:
Resolution Steps:
Ctrl + Shift + R | Mac: Cmd + Shift + R.F12) and check the Console and Network tabs for error messages. Report any errors to your administrator.Symptoms: Clicking the Save button on a form produces an error message, or the save appears to complete but the changes are lost on page reload.
Possible Causes:
Resolution Steps:
F12 > Network tab) for the specific API error response.Symptoms: A page displays "You do not have permission to access this resource" or a 403 Forbidden error.
Possible Causes:
Resolution Steps:
This section covers issues that may arise during local development setup or deployment of NDSS CRM. These issues are primarily relevant to the Newdawn Support Services engineering team and partner developers.
Symptoms: npm install fails with errors about unsupported engine or incompatible Node.js version.
Required Version: Node.js 18.17.0 or higher (LTS recommended). The project specifies this in package.json under the engines field.
Resolution:
node --versionnvm install 18
nvm use 18
nvm alias default 18
node_modules and package-lock.json, then run npm install again.Symptoms: npm install fails with peer dependency conflicts, ERESOLVE errors, or compilation errors for native modules.
Resolution:
npm install --legacy-peer-depssharp, bcrypt), ensure you have the required build tools installed:
xcode-select --installsudo apt-get install build-essential python3npm cache clean --forcenode_modules, package-lock.json, and .next folder, then reinstall.Symptoms: Python service fails to start due to missing modules or incompatible package versions.
Required Version: Python 3.10 or higher.
Resolution:
python3 --versionpython3 -m venv venv && source venv/bin/activatepip install -r requirements.txtpsycopg2 fails to install, try the binary package instead: pip install psycopg2-binaryreportlab or pandas fail, ensure you have the required system libraries:
brew install freetype libpngsudo apt-get install libfreetype6-dev libpng-devSymptoms: PHP Laravel service fails to start, or composer install fails.
Required Version: PHP 8.1 or higher with extensions: pdo_pgsql, mbstring, openssl, curl, xml.
Resolution:
php -v and php -msudo apt-get install php8.1-pgsql php8.1-mbstring php8.1-curl php8.1-xml
composer install and then php artisan key:generate.env.example to .env and configure database connection settings.php artisan migrate to set up the required database tables.Symptoms: Application starts but displays "Database connection failed" or API requests return 500 errors with database-related messages.
Resolution:
.env.local file contains the correct Supabase / Oracle credentials:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
DATABASE_URL=postgresql://postgres:password@db.your-project.supabase.co:5432/postgres
psql "DATABASE_URL" -c "SELECT 1"Symptoms: While using the application, you are suddenly redirected to the login page without warning, or you see a "Session expired" message.
Possible Causes:
Resolution:
Symptoms: After clicking "Forgot Password" and entering your email, no reset email arrives.
Resolution:
noreply@newdawnsupport.com.au.newdawnsupport.com.au are being blocked by your organisation's email filter.Symptoms: An administrator changed your role, but you still see the old menu items and permissions.
Resolution:
Symptoms: Pages take more than 3 seconds to load, especially list views (Clients, Staff, Shifts).
Resolution:
Symptoms: The dashboard takes a long time to load, particularly the KPI widgets and charts.
Resolution:
Symptoms: Generating a report produces a timeout error or the report never completes.
Resolution:
Symptoms: Administrators notice slow query performance in the Supabase / Oracle dashboard.
Resolution:
-- Check for missing indexes on frequently queried columns
SELECT
schemaname, tablename, indexname, indexdef
FROM pg_indexes
WHERE schemaname = 'public'
ORDER BY tablename, indexname;
ANALYZE on heavily updated tables to refresh query planner statistics:
ANALYZE clients;
ANALYZE shifts;
ANALYZE invoices;
ANALYZE incidents;
Symptoms: Recently updated data is not visible, or old data continues to display after changes.
Resolution:
Ctrl + Shift + R (Windows) or Cmd + Shift + R (Mac) to perform a hard refresh.wss:// connections in the Network tab of developer tools.NDSS CRM is tested and supported on the following browsers:
| Browser | Minimum Version | Support Level | Known Issues |
|---|---|---|---|
| Google Chrome | 100+ | Full support (primary testing browser) | None |
| Mozilla Firefox | 100+ | Full support | PDF export may prompt for print dialog instead of direct download |
| Microsoft Edge | 100+ (Chromium-based) | Full support | None |
| Apple Safari | 16+ | Full support | Date picker may render differently. Use YYYY-MM-DD format for manual date entry. |
| Safari (iOS) | 16+ | Supported (responsive layout) | Landscape orientation required for rostering calendar view |
| Chrome (Android) | 100+ | Supported (responsive layout) | None |
| Internet Explorer | - | Not supported | NDSS CRM does not function in Internet Explorer. Please use Edge. |
| Opera | 90+ | Community supported (not officially tested) | Should function correctly as it uses the Chromium engine |
NDSS CRM is designed with a responsive layout that adapts to desktop, tablet, and mobile screen sizes. However, certain complex modules are optimised for desktop use. The following table summarises the mobile experience for each major module:
| Module | Mobile Experience | Notes |
|---|---|---|
| Dashboard | Fully responsive | Widgets stack vertically. Charts resize automatically. |
| Client List | Fully responsive | Table converts to card layout on small screens. |
| Client Profile | Fully responsive | Tabs stack vertically. All information accessible. |
| Staff List | Fully responsive | Same card layout conversion as Clients. |
| Rostering Calendar | Partial | Day view works well. Week and month views require landscape orientation or tablet. |
| Shift Clock-In/Out | Fully responsive | Designed primarily for mobile use. GPS capture supported. |
| Finance - Invoices | Partial | Invoice list is responsive. Invoice detail view with line items is best viewed on tablet or desktop. |
| Incident Reporting | Fully responsive | Designed for in-field reporting on mobile devices. |
| Messaging | Fully responsive | Chat interface optimised for mobile. |
| Reports | Partial | Report configuration forms are responsive. Chart visualisations may require landscape or larger screen. |
| Admin Settings | Desktop recommended | Complex configuration forms are best used on desktop. |
Symptoms: A CSV or XLSX import fails partially or completely, with error messages referencing specific rows.
Resolution:
YYYY-MM-DD format. Excel may auto-format dates. Save as CSV and verify the date format in a text editor.Symptoms: The same person appears multiple times in the client or staff list, causing confusion in rostering and invoicing.
Resolution:
master_admin and administrator roles can merge records. The merge action is logged in the audit trail with a reference to both original record IDs.Symptoms: Data imported from a legacy system has formatting issues, missing relationships, or incorrect field mappings.
Resolution:
Symptoms: API calls return 401 Unauthorized responses.
Resolution:
Authorization: Bearer <token> (note the space between "Bearer" and the token).Symptoms: Webhooks are configured but the receiving system is not getting events, or the webhook status shows "Failed".
Resolution:
Symptoms: API calls return 429 Too Many Requests responses.
Resolution:
X-RateLimit-Remaining and Retry-After response headers to understand your current usage and when the limit resets.Retry-After header before retrying.POST /api/invoices/generate instead of creating invoices one by one).Q1: What is NDSS CRM?
NDSS CRM is a comprehensive web-based management platform developed by Newdawn Support Services for NDIS disability care providers. It manages client records, staff, rostering, finance, compliance, clinical services, and more in a single integrated system. See Chapter 1 for the full introduction.
Q2: What technology is NDSS CRM built with?
The platform is built with Next.js, React, TypeScript, PostgreSQL, Supabase / Oracle, Python, PHP, and TailwindCSS. The Next.js/React frontend handles the user interface, Python services handle report generation and analytics, PHP services handle legacy system integration and bulk data operations, and PostgreSQL (via Supabase / Oracle) serves as the database. See Chapter 3 for full architecture details.
Q3: Which browsers are supported?
NDSS CRM supports the latest versions of Google Chrome, Mozilla Firefox, Microsoft Edge, and Apple Safari. Internet Explorer is not supported. See Section 21.5 for the complete compatibility matrix.
Q4: Can NDSS CRM be used on mobile devices?
Yes. The platform uses a responsive design that adapts to mobile and tablet screens. Core functions like shift clock-in/out and incident reporting are optimised for mobile. Some complex modules (rostering calendar, admin settings) are best used on desktop or tablet. See Section 21.6 for details.
Q5: Is there an offline mode?
No. NDSS CRM requires an active internet connection. All data is stored in the cloud (Supabase / Oracle) and changes are synced in real-time. If connectivity is lost, in-progress form data may not be saved.
Q6: How do I get an account?
NDSS CRM does not support self-registration. Your organisation's administrator will create your account and assign your role. You will receive an email with a verification link and instructions to set your password.
Q7: How many roles are there?
NDSS CRM supports 24 distinct user roles, ranging from Master Administrator (full access) to Client Portal users (limited self-service access). See Section 1.3 for the complete role listing and Chapter 4 for the permission matrix.
Q8: Can a user have multiple roles?
No. Each user account is assigned exactly one role. If a staff member needs permissions from multiple roles, an administrator can create a custom permission set or assign the higher-privilege role. Contact your administrator to discuss the best approach.
Q9: How do I reset my password?
Click the "Forgot Password" link on the login page and enter your registered email address. You will receive a password reset link valid for 60 minutes. If you do not receive the email, see Section 21.3 for troubleshooting steps.
Q10: Why was my account locked?
Accounts are automatically locked after 10 consecutive failed login attempts as a security measure. Wait 30 minutes for automatic unlock, or contact your administrator to manually unlock the account. You can also use the "Forgot Password" feature to reset your password and unlock the account simultaneously.
Q11: How do I add a new NDIS participant?
Navigate to Clients > Add New Client. Complete the required fields (name, date of birth, NDIS number, primary disability). You can also add clients through the Intake module for a guided workflow that includes referral tracking and document collection. See Chapter 6 and Chapter 11.
Q12: Can I import clients from a spreadsheet?
Yes. Go to Admin > Data Import > Import Clients. Download the CSV template, populate it with your client data, and upload it. The import process validates all records before committing. See Section 19.10 for import specifications.
Q13: How do I update an NDIS plan when a client gets a new plan?
Open the client profile, go to the "NDIS Plan" tab, and click "New Plan Period". Enter the new plan dates, funding categories, and budget amounts. The previous plan is archived and remains accessible for historical reporting. The budget tracker automatically resets to reflect the new plan allocation.
Q14: What happens when a client is discharged?
Navigate to the client profile and click "Discharge Client". You will be prompted to enter a discharge reason, effective date, and any exit notes. The client record is soft-deleted (set to "discharged" status) and retained for 7 years per NDIS data retention requirements. Discharged clients no longer appear in active lists but can be found via the "All Clients" filter.
Q15: How do I create a recurring shift?
When creating a new shift, toggle the "Recurring" option. Select the recurrence pattern (daily, weekly, fortnightly, monthly), the days of the week, and the end date. The system will generate all shift instances and check for conflicts with each one. See Chapter 8.
Q16: What happens if a shift has a scheduling conflict?
The system will display a warning identifying the conflicting shift(s) including the staff member, time, and client. You can choose to override the conflict (with a reason) or adjust the shift time/assignment to resolve it. Overridden conflicts are flagged in the roster view with an orange indicator.
Q17: How does clock-in/clock-out work?
Support workers access the Clock-In/Out feature from the mobile dashboard or the shift detail page. Tapping "Clock In" records the current time and (optionally) GPS coordinates. "Clock Out" requires a progress note to be submitted. The actual hours are compared against the scheduled hours for timesheet accuracy. See Chapter 8.
Q18: Can shifts be swapped between staff members?
Yes. The Rostering module includes a "Swap Shift" feature. The requesting staff member selects a colleague and the target shift. The swap request is sent to the roster officer for approval. Both staff members are notified of the outcome. The audit trail records the original and new assignment.
Q19: How are NDIS invoices generated?
Invoices can be generated automatically from approved shifts (Finance > Generate Invoices > select date range and client) or created manually. The system automatically maps shifts to the correct NDIS line items and applies the current price guide rates. See Chapter 9.
Q20: What NDIS price guide version does the system use?
NDSS CRM uses the latest NDIS Support Catalogue price guide. When the NDIA releases an updated price guide, the Python data processing service imports and validates the new rates. The administrator activates the new rates for a specified effective date. Historical invoices retain the rate that was in effect at the time of service delivery.
Q21: Can I track NDIS plan budget usage in real-time?
Yes. Each client's profile includes a Budget Tracker widget that shows total allocation, amount used, amount committed (approved shifts not yet invoiced), and remaining balance. The tracker updates whenever an invoice is created or a shift is approved. The Python analytics service recalculates all budgets nightly to ensure accuracy.
Q22: How do I report an incident?
Navigate to Compliance > Report Incident, or use the quick action button on the mobile dashboard. Complete the incident form including category, severity, description, immediate actions taken, and involved parties. Incidents classified as "critical" or involving abuse/neglect automatically alert the Compliance Officer. See Chapter 10.
Q23: Which incidents must be reported to the NDIS Commission?
Under the NDIS (Incident Management and Reportable Incidents) Rules 2018, the following must be reported: death of a participant, serious injury, abuse or neglect, unlawful sexual or physical contact, and use of unauthorised restrictive practices. NDSS CRM flags these categories automatically and generates the required notification documentation.
Q24: How does the system track staff compliance (certifications, worker screening)?
Each staff profile includes a Compliance tab that tracks all certifications, qualifications, and NDIS Worker Screening Check status with expiry dates. The Python data processing service runs a daily check and generates alerts at 90, 60, 30, 14, and 7 days before expiry. Expired certifications are flagged in red and the staff member is automatically excluded from new shift allocations until the certification is renewed.
Q25: Is there an API for external integrations?
Yes. NDSS CRM provides a comprehensive RESTful API documented in Chapter 19. The API supports all CRUD operations for clients, staff, shifts, invoices, and incidents. API access requires authentication and is subject to rate limiting.
Q26: Does NDSS CRM integrate with accounting software?
Yes. The PHP integration layer provides connectors for MYOB and Xero. Invoice data can be pushed to these systems, and payment receipts can be pulled back. See Section 19.10 for connector details.
Q27: Where is the data stored?
All data is stored in a PostgreSQL database hosted on Supabase / Oracle in the ap-southeast-2 (Sydney, Australia) region. Data never leaves Australian borders. See Chapter 20 for full security and data protection details.
Q28: How often is the data backed up?
Daily automated backups are taken at 02:00 AEST with 30-day retention. Point-in-Time Recovery (PITR) enables restoration to any point within the last 7 days. Weekly and monthly archival backups are stored separately. See Section 20.9.
Q29: What is the uptime guarantee?
NDSS CRM targets 99.9% monthly uptime, which allows for a maximum of approximately 43 minutes of downtime per month. Scheduled maintenance is performed during off-peak hours (typically Sunday 02:00-04:00 AEST) with advance notification to administrators.
Q30: Can NDSS CRM be self-hosted?
NDSS CRM is designed as a cloud-hosted SaaS platform. Self-hosting is not officially supported, although the codebase uses standard open-source technologies (Next.js, PostgreSQL, Python, PHP) that can theoretically be deployed to any compatible infrastructure. Self-hosted deployments are not covered by Newdawn Support Services support agreements.
Q31: How do I request a new feature?
Feature requests can be submitted via the in-app feedback form (Help > Submit Feedback) or by emailing support@newdawnsupport.com.au with the subject line "Feature Request". All requests are reviewed by the product team during quarterly planning cycles.
Q32: Is there a staging environment for testing?
Yes. A staging environment is available at staging.newdawnsupport.com.au with anonymised test data. Staging is refreshed weekly from production (with all PII removed). Contact your administrator for staging access credentials.
The following table provides a comprehensive reference of all error codes that may be encountered in the NDSS CRM user interface or API responses, along with their meanings and recommended actions.
| Error Code | HTTP Status | Message | User Action |
|---|---|---|---|
AUTH_INVALID_CREDENTIALS | 401 | Invalid email or password | Verify credentials, use Forgot Password if needed |
AUTH_TOKEN_EXPIRED | 401 | Your session has expired | Log in again |
AUTH_TOKEN_INVALID | 401 | Authentication token is invalid | Clear cookies and log in again |
AUTH_ACCOUNT_LOCKED | 403 | Account temporarily locked | Wait 30 minutes or contact administrator |
AUTH_ACCOUNT_DISABLED | 403 | Account has been deactivated | Contact your administrator |
AUTH_INSUFFICIENT_PERMISSIONS | 403 | You do not have permission | Contact administrator for role review |
AUTH_EMAIL_NOT_VERIFIED | 403 | Email address not verified | Check email for verification link |
AUTH_PASSWORD_EXPIRED | 403 | Password has expired | Reset password via Forgot Password |
RESOURCE_NOT_FOUND | 404 | Record not found | Verify the record exists and has not been archived |
VALIDATION_ERROR | 422 | Form validation failed | Review highlighted fields and correct errors |
CONFLICT_DUPLICATE | 409 | Duplicate record exists | Search for the existing record instead of creating a new one |
CONFLICT_SCHEDULE | 409 | Scheduling conflict detected | Adjust shift time or assign a different staff member |
BUDGET_EXCEEDED | 422 | NDIS budget limit exceeded | Review client's remaining budget before creating shifts/invoices |
INVALID_STATUS_TRANSITION | 422 | Invalid status change | Check the allowed status flow for this record type |
FILE_TOO_LARGE | 413 | Uploaded file exceeds 10 MB limit | Reduce file size or compress the document |
FILE_TYPE_NOT_ALLOWED | 415 | File type not permitted | Upload files in PDF, DOCX, XLSX, PNG, JPG, or CSV format only |
RATE_LIMIT_EXCEEDED | 429 | Too many requests | Wait for the specified retry-after period and try again |
INTERNAL_ERROR | 500 | An unexpected error occurred | Try again. If persistent, contact support with the error timestamp. |
SERVICE_UNAVAILABLE | 502 | A backend service is temporarily unavailable | Wait a few minutes and retry. Report to admin if persistent. |
MAINTENANCE_MODE | 503 | System under maintenance | Wait for maintenance to complete. Check status page for updates. |
IMPORT_PARTIAL_FAILURE | 207 | Some import rows failed | Download error report, fix failed rows, re-import |
EXPORT_TIMEOUT | 504 | Export took too long | Reduce date range or apply filters to limit dataset |
WEBHOOK_DELIVERY_FAILED | - | Webhook endpoint unreachable | Check receiving endpoint is running and accessible |
| Channel | Details | Availability | Response Time |
|---|---|---|---|
| In-App Help | Click the "?" icon in the bottom-right corner of any page | 24/7 | Knowledge base articles displayed immediately |
| Email Support | support@newdawnsupport.com.au | Mon-Fri 8:00-18:00 AEST | Within 4 business hours |
| Phone Support | 1800 NDSS CRM (1800 637 727) | Mon-Fri 9:00-17:00 AEST | Immediate (average hold time: 2 minutes) |
| Emergency Hotline | 1800 NDSS SEC (1800 637 773) | 24/7 | Immediate (security incidents only) |
| Status Page | status.newdawnsupport.com.au | 24/7 | Real-time platform status updates |
| Level | Severity | Escalation Trigger | Responsible Team | Target Resolution |
|---|---|---|---|---|
| Level 1 | Low / General | Initial contact, common issues | Support Team | 4 business hours |
| Level 2 | Medium | Issue unresolved after 4 hours, or requires technical investigation | Engineering Team | 1 business day |
| Level 3 | High | Issue unresolved after 1 day, data integrity concern, or affects multiple users | Senior Engineering | 4 hours |
| Level 4 | Critical | Platform outage, data breach, or compliance violation | Engineering Lead + Management | 1 hour |
| Metric | Target |
|---|---|
| Platform Uptime | 99.9% monthly |
| API Response Time (p95) | Under 500ms |
| Page Load Time (p95) | Under 3 seconds |
| Email Support Response | Within 4 business hours |
| Critical Issue Resolution | Within 1 hour |
| Scheduled Maintenance Notification | 48 hours advance notice |
| Data Recovery (if needed) | Within 4 hours (RTO target) |
When contacting support, please include the following information to expedite resolution:
Please review this troubleshooting chapter and the in-app help articles first. Many common issues can be resolved quickly using the step-by-step instructions in Section 21.1 through Section 21.8.