FAQ — Common issues and solutions
Quick answers to the most common questions. If your issue isn't here, search in the search bar or consult your department guide.
Authentication & Access
I can't log in — I stay on the authentication page
Possible causes:
- Password is wrong (check capitalisation)
- Account is deactivated by administrator
- Browser cookies are blocked
Solution:
- Try the "Forgot password" button on the login page
- If that doesn't work, ask the administrator to check your account at
/admin/staff→ find the user → verify if active - Try in incognito browser or a different browser
I see "Access denied" or I'm redirected to the dashboard
Cause: Your role doesn't have the required permission for that module.
Solution:
- Ask the administrator to check your role at
/admin/roles - Find the role assigned to your account and enable the missing permission
- Log out and log back in after the change
I don't see a module in the sidebar even though it should be there
Cause: The module is not enabled for your role OR the module is not installed on the instance.
Solution:
- Check at
/admin/roles→ your role → whether the module appears in the list - If it doesn't appear at all in the list, contact the administrator — the module may require an additional package
Leads & Pipeline
A created lead doesn't appear in the pipeline (Kanban)
Cause: The lead was created without a status associated with the active pipeline.
Solution:
- Open the lead → check the Status field
- Check at
/admin/leads/pipelinesthat the lead status is included in the pipeline - If the lead has status "Junk" or "Lost" — it doesn't appear in Kanban (normal behaviour)
Leads from the web form don't appear in CRM
Cause: The form is not correctly configured or the website domain is blocking the request.
Check:
/admin/leads/forms→ open the form → copy the embed code again- Check that the website domain is in the list of allowed domains (if a CORS setting exists)
- Test by manually submitting the form and immediately checking in
/admin/leads
Facebook Ads leads don't arrive automatically
Cause: The Facebook webhook is not configured or the token has expired.
Solution:
/admin/facebookleadsintegration→ verify App ID, App Secret and Page Token are filled in- Check in Facebook Business Manager that the CRM webhook is registered and active
- Test with the "Test" button from the Facebook configuration
Lead's MA score isn't increasing even though they've opened emails
Cause: Email clients with Apple Mail Privacy Protection (MPP) block open tracking.
Explanation: MPP pre-loads the tracking pixel without the user actually opening the email — gives false positives OR blocks entirely.
Solution: Use link clicks as the primary signal (more reliable than opens). Configure MA triggers on click = 1 instead of open = 1.
Invoices & Payments
The sent invoice doesn't reach the client (email)
Possible causes:
- SMTP not configured or with wrong credentials
- Client's email address is missing or incorrect
- Email landed in spam at the recipient
Solution:
- Check SMTP settings at
/admin/settings→ Email Settings → send a test email - Verify the client has an email filled in at
/admin/clients - Ask the client to check their Spam folder and whitelist your address
Invoice stays with "Unsent" status even though I clicked Send
Cause: Silent SMTP error or timeout.
Solution:
- Check the email log at
/admin/utilities/pipe_logor/admin/utilities/activity_log - Test SMTP from
/admin/settings→ Email → Test button - As a workaround: download the invoice PDF and send manually from your email client
Recorded payment doesn't close the invoice (stays Partially Paid)
Cause: The paid amount is less than the invoice total including VAT.
Check: Open the invoice → compare Total (with VAT) with the recorded paid amount.
Solution: Record an additional payment for the remaining difference. Check that the VAT rounding method is correct in settings.
Commission wasn't calculated even though the invoice is paid
Possible causes:
- The agent doesn't have a commission policy assigned
- The configured waiting period (
commission_calculate_after_days) has not expired - The invoice wasn't generated from a proposal/order linked to the agent
Solution:
/admin/commission/applicable_staff→ verify the agent has an active policy- Check the waiting days setting in the commission policy
- If the invoice was created manually (not from a proposal), commission must be added manually
eInvoice (ANAF)
eInvoice returns an error on submission
Common errors and solutions:
| Error | Cause | Solution |
|---|---|---|
| "Invalid token" or "Token expired" | ANAF token has expired | /admin/billing/efactura → Regenerate button → re-authorise with digital certificate |
| "Invalid VAT number" | Client VAT number is missing or wrong | Open client → fill in VAT field (without RO prefix) |
| "Missing address" | Client billing address is incomplete | Fill in complete address (street, city, county, postal code) |
| "Undefined variable" | Generated XML bug | Retry — system automatically falls back to alternative endpoint |
→ eInvoice
eInvoice is validated by ANAF but I can't find the signed PDF
Solution:
- Open invoice → eInvoice button → Download archive
- The ZIP archive contains: signed XML + PDF generated by ANAF
- If the button doesn't appear, the invoice status is not yet "Validated (OK)" — check status with the Check status button
Warehouse & Stock
A product's stock appears negative
Cause: A stock outflow (delivery, goods issue) was recorded without a prior receipt.
Solution:
- Check stock history at
/admin/warehouse/warehouse_history→ filter by product - Identify the transaction that generated the negative
- Create a retroactive Receipt Note to correct the stock
- In future: block outflows without stock from
/admin/warehouse/setting→Allow negative stock = No
Packing list quantity doesn't match available stock
Cause: Stock has been reserved by another Packing List or order.
Solution:
- Check real available stock in
/admin/warehouse/commodity_list→ Available column (total stock − reserved) - Check which other PLs have reserved that stock
- If goods arrived but haven't been receipted: create the Receipt Note first
AWB won't generate from Packing List
Possible causes:
- Parcel weight or dimensions are missing
- Client's delivery address is incomplete
- Innoship/Courier API is not configured
Solution:
- Check that the Packing List has filled in: weight (kg), length, width, height
- Check client address — must have street + city + county + postal code
- Test API connection at
/admin/innoship/settingsor/admin/couriers/settings
Procurement
Purchase order can't be confirmed
Cause: Required fields are missing: vendor, at least one item, or delivery date.
Solution: Open PO → fill in all fields marked with * → save → confirm.
Receipt note doesn't update stock
Possible causes:
- Note is in Draft status (not validated)
- Destination warehouse is not selected
Solution:
- Open the note → check status — must be Validated/Finalised
- Verify the "Destination warehouse" field is filled in
- If validated but stock didn't update: check
/admin/warehouse/warehouse_historyfor that transaction
Projects & Timesheets
Tasks don't appear in the employee's timesheet
Cause: The employee is not assigned to the task or project.
Solution:
- Open the task → Responsible field → add the employee
- Verify the project has the employee in the team (
/admin/projects→ project → Members tab)
Invoiced project shows hours that don't match the timesheet
Cause: Timesheets were not marked as Billable or were filtered incorrectly.
Solution:
/admin/staff/timesheets→ filter by project → check the Billable column- When generating invoice from project: verify all billable hours are selected in the billing dialog
Marketing & Communication
Marketing Automation emails are not being sent
Possible causes:
- SMTP not configured or daily limit reached
- MA campaign is in Draft status (not published)
- Lead doesn't meet the segment criteria
Solution:
- Check daily limit:
/admin/ma→ Settings →email_sending_limit - Verify the campaign is Active (
published = 1) not Draft - Open campaign → Segments → verify the lead appears in segment members
WhatsApp — sent messages don't reach the client
Possible causes:
- Client's number is not in international format (
+1...,+44...) - Message template is not approved by Meta (WABA)
- The 24-hour window has expired (for business-initiated conversations)
Solution:
- Check number format: must be
+[country code][number](no spaces) /admin/whatsapp/templates→ check template status — must be Approved- If window expired: you can only send pre-approved templates (not free-form messages)
HR & Payroll
Employee doesn't appear in payroll report
Cause: Employee doesn't have an active contract in HR Profile or the contract type is set incorrectly.
Solution:
/admin/hr_profile/contracts→ verify the employee has an active contract with correct data- Check employment type (employment contract, collaborator, etc.) — affects what appears in payroll
Reports & Data
Sales report shows different figures from invoices
Common cause: Sales report calculates collected payments (cash basis), not the value of issued invoices (accrual).
Explanation: An invoice issued on May 30 and paid on June 5 appears in the June report, not May.
Solution: Use the date filter on Invoice date (not payment date) if you want accrual accounting.
Integrations
WooCommerce — orders don't arrive in OmniSales
Possible causes:
- WooCommerce webhook is not configured in CRM
- WooCommerce API keys are wrong or expired
- WooCommerce products are not mapped to CRM products
Solution:
/admin/woocommerce→ verify API URL, Consumer Key and Consumer Secret are correct- Check that webhook is active in WooCommerce → Settings → Advanced → Webhooks
- Test connection with the Test Connection button in WooCommerce CRM settings
Workflow Automation — automatic action doesn't execute
Possible causes:
- Workflow is deactivated
- Trigger condition is not exactly met
- Server cron is not running
Solution:
/admin/workflow_automation→ verify the workflow has Active status- Open the workflow → check conditions — are all of them met for the record being tested?
- Check execution log if it exists →
/admin/utilities/activity_log
Sales — Proposals and Invoices
Proposal expired — client can no longer accept from portal
Exact cause (from code): Accept/Decline buttons are shown in the client portal only if open_till >= TODAY. When the date expires, the buttons disappear completely without any error message — client sees the proposal but can't interact with it.
Field: tblproposals.open_till (date)
Solution — 2 options:
Option A (recommended): Open the proposal in admin → edit the Valid until field → set a future date → save → resend to client.
Option B (change status): Manually change the proposal status to Open (1). The code detects that open_till is in the past and automatically extends the date by +7 days from the change moment. Client can accept within the 7-day window.
Proposal statuses: 1=Open · 2=Declined · 3=Accepted · 4=Sent · 5=Revised · 6=Draft
Can't convert proposal to invoice — button is missing
Exact cause (from code): The "Convert to Invoice" button appears only if all conditions are simultaneously met:
invoice_id IS NULL— proposal hasn't already been convertedestimate_id IS NULL— proposal hasn't already been converted to estimatestatus != 7— not in an internally blocked status- Staff has
invoices → Createpermission
Quick check:
- If the proposal already has an
invoice_idset — it was previously converted; the button is replaced with a direct link to the invoice - If the proposal is linked to a lead without an associated client — button appears but is disabled (grey,
cursor: not-allowed) - If the proposal is not associated with any client or lead — same, disabled
Solution:
- Check permissions at
/admin/roles→ your role →Invoices → Create - If proposal is on a lead, first convert the lead to a client (
Convert to Clientfrom the lead record) - If the invoice already exists, find its direct link from the proposal's Invoices tab
Recurring invoice didn't auto-generate
Exact cause (from code, Cron_model.php, function recurring_invoices()): There are 5 distinct reasons for non-generation:
| Cause | DB field | Check |
|---|---|---|
| Recurrence is disabled | tblinvoices.recurring = 0 |
Open invoice → enable recurrence |
| Cycles exhausted | cycles == total_cycles and cycles != 0 |
Check cycles and total_cycles on invoice |
| "Only paid invoices" setting active | invoices_create_invoice_from_recurring_only_on_paid_invoices = 1 in Settings |
Source invoice must be status = 2 (Paid) |
| Source invoice is in Draft | status = 6 |
Draft invoices are permanently excluded from cron |
| Cron runs at wrong hour | invoice_auto_operations_hour in Settings |
Cron strictly checks current hour vs. configured hour (default 9:00); if server runs cron at another hour, nothing executes |
Solution for wrong-hour cron: /admin/settings → Cron Job Settings → check configured hour and ensure the server cron runs at that hour. Alternatively, trigger manually from admin (manual trigger ignores hourly check).
Duplicate client — how do I identify and resolve it?
How the system detects duplicates:
VAT number — unique in the database; system refuses saving a client with the same VAT (with or without "RO" prefix). Check:
tblclients.vatnormalised without prefix.Company (warning in dashboard) — if clients with the same
companyfield exist, a warning widget appears. Doesn't block, just informs.Anti-double-click — if a client with the same
companyorvatwas created in the last 5 seconds, system redirects to the existing one instead of creating a duplicate.
Merge function: DOES NOT exist in the code. Duplicate clients must be resolved manually:
- Identify the duplicate client (the one with fewer associated documents)
- Move documents (invoices, projects) to the "main" client — edit each document
- Delete the duplicate (if it no longer has associated documents)
OmniSales & E-commerce
Online order has wrong status vs. WooCommerce
Exact cause (from code, Omni_sales_helper.php): Statuses are mapped bidirectionally, but not all OmniSales statuses have a reverse mapping to WooCommerce.
WooCommerce → OmniSales mapping (complete):
| WooCommerce status | OmniSales index |
|---|---|
pending / pending_payment |
2 |
processing |
1 |
confirm |
3 |
shipping |
4 |
completed / finish |
5 |
refunded |
6 |
return |
7 |
cancelled |
8 |
on-hold |
9 |
failed |
10 |
ready |
15 |
| any unknown status | 0 (Draft) |
Reverse OmniSales → WooCommerce mapping (partial — only 6 statuses): 1→processing · 2→pending · 5→completed · 6→refunded · 8→cancelled · 9→on-hold
Important: OmniSales statuses 3 (Confirm), 4 (Shipping), 7 (Return), 15 (Ready), 16 (Stock Unavailable) do not sync back to WooCommerce. These are internal CRM statuses.
Product from online order doesn't appear in order
Exact cause (from code, Omni_sales_model.php, function add_order_woo()):
Matching is done exclusively on the SKU field: tblitems.sku_code = WooCommerce line_item.sku
3 scenarios:
| Situation | What happens |
|---|---|
| WC product has SKU and exists in CRM | Correct match → appears in order |
| WC product has SKU but does NOT exist in CRM | System automatically creates product in tblitems with WooCommerce data |
| WC product has no SKU set | Product is completely ignored — doesn't appear in order, not created |
Solution: Ensure all WooCommerce products have SKU filled in. Check in WooCommerce Admin → Products → each product → SKU field. Without SKU, products cannot be imported into CRM.
Manufacturing (Production)
Manufacturing Order can't move to Planned
Exact cause (from code, Manufacturing_model.php): At transition to planned, the system checks available stock for each component in the BoM:
inventory_number (from tbl_inventory_manage) < qty_to_consume → flag = 1 → MO blocked
If any component has insufficient stock, MO doesn't move to Planned and shows: [Product name] not_enough_inventory, available_quantity: X.
Solution:
- Check the exact error message — it shows what product is missing and how much is available
- Either create a receipt for the missing materials (Receipt Note)
- Or approve MO with partial materials and track the auto-generated Purchase Request
Finished product didn't enter warehouse after MO Done
Exact cause (from code, mo_mark_as_done()): When marking MO as Done:
- Verifies
qty_reserved != 0for at least one component — if all components haveqty_reserved = 0, function returnsfalseand creates nothing - Creates internal Delivery Note (material consumption)
- Creates Receipt Note for finished product in
finished_products_warehouse_id
Mandatory conditions on MO:
finished_products_warehouse_id— destination warehouse must be setproduct_id— finished product must be specified- At least one component with
qty_reserved > 0
Solution:
- Verify MO has Finished goods warehouse filled in
- Verify components are reserved (
qty_reserved > 0) — if all are 0, press "Check material availability" again - Enter produced quantity (may differ from planned quantity) in the confirmation dialog
Finance & Accounting
SAGA export empty or incomplete
Exact cause (from code, Export.php): SAGA exports invoices from tblinvoices with filter:
status != 6 (Draft) AND date BETWEEN start_date AND end_date
Solution: Check the invoice issue date (not due date) and ensure it falls within the export interval. Draft invoices must be finalised (status != 6) before export.
Settings & Administration
SMTP with 2FA (Gmail / Outlook) — email won't send
Cause: CRMConnect supports standard SMTP authentication (user + password) with SSL or TLS. Does not support OAuth2/XOAUTH2.
Gmail with 2FA: Cannot use Gmail account password. Must create an App Password:
- Google Account → Security → 2-Step Verification → App passwords
- Generate a password for "Mail" → copy it
/admin/settings→ Email → SMTP Host:smtp.gmail.com, Port:587, Encryption:tls, User: Gmail address, Password: App Password (not account password)
Outlook / Microsoft 365 with 2FA:
- If organisation allows SMTP AUTH: use normal password with
smtp.office365.com:587:tls - If SMTP AUTH is disabled by IT admin: must be enabled from Microsoft 365 Admin Center → Users → Mail settings → Authenticated SMTP
Check: /admin/settings → Email → Test Email button — sends a test email and shows exact error if SMTP fails.
Tickets & Support
Client email doesn't auto-create a ticket (email pipe)
Exact cause (from code, Tickets_model.php, function insert_piped_ticket()):
There are 4 reasons why email pipe fails:
| Reason | Pipe Log message | Solution |
|---|---|---|
| Email from unregistered address + "only registered" setting active | Unregistered Email Address |
/admin/settings → Tickets → disable Allow only registered clients to open tickets |
| "Only replies" setting active | Only Replies Allowed by Email |
Disable Accept only replies from email — new tickets can't be created |
| Anti-spam limit exceeded | Exceeded Limit of 10 Tickets within 15 Minutes |
Address sent >10 emails in 15 min — temporarily blocked automatically |
| Ticket ID in subject but ticket not found | Ticket ID Not Found |
Client modified email subject and removed [Ticket#ID] |
Check: /admin/utilities/pipe_log — shows all processed emails with their status
Audit & User Actions
How do I see what a user did?
CRMConnect has two places to find action history, depending on what you're looking for:
1. For a specific action on a client/lead/invoice: → Open the record → Activity tab Shows chronologically all changes on that record: who, when, what was changed.
2. For all actions by a user (regardless of record):
→ /admin/utilities/activity_log → filter by user name + period
Shows everything that staff member did in the CRM system.
Who deleted a record?
/admin/utilities/activity_log→ filter the day it occurred- Search in the Description column:
Deleted+ record type (e.g.Invoice Deleted,Lead Deleted) - The
staffidcolumn shows exactly who performed the action
Note: Deleted records cannot be recovered from the interface — they are physically or soft-deleted from the DB. If recovery is needed, contact the server administrator for a backup.
How do I export activity history for external audit?
/admin/utilities/activity_log- Apply desired filters (period, user)
- Export button → download CSV with all filtered records
Important: The Clear button permanently deletes the log — always export before clearing. There is no restore function for a deleted log.
→ IT Admin — Audit & Monitoring
Can't find the answer?
- Search in the sidebar search bar — the index covers all 200+ pages
- Check your department guide → Department Guides
- Follow the workflow for your process → End-to-end Workflows
- Contact support with: the page URL, exact error message, and steps that led to the problem