Troubleshooting
Access forbidden, billing errors, ticket charge issues, user linking.
Written By Victor Raessen
Last updated 6 days ago
Running into an issue? This section covers the most common problems and how to resolve them. If you can't find your answer here, reach out to our support team through the chat widget or email support@salesbuildr.com.
Access Forbidden
When you see "Access Forbidden" or are blocked from reaching a page or feature, the cause is one of these:
Your user is not linked to a company
Salesbuildr requires every non-admin user to be linked to a company and verified. If either condition is missing, API requests return "You are not linked to a company or the link is not verified."
Resolution:
Go to Admin > Users & Permissions
Find the affected user
Confirm they have a company assigned
Confirm the link is verified
If the user was synced from a PSA, run a manual sync to ensure their company link is up to date
Your role lacks the required permission
Salesbuildr uses role-based access control. If your account doesn't have the right permission, the request is blocked.
Resolution:
Ask your admin to check your role at Admin > Users & Permissions > Roles
Admin users bypass all permission checks
For non-admin users, the relevant permissions are: Quote editor, Product viewer, Product editor, Products importer, Pricing book editor, Company editor, Whitespace viewer, Procurement editor (see Users & Permissions for details)
Your email is unverified or login is disabled
Salesbuildr checks several conditions at login:
Resolution:
Log out and log back in to refresh your session
Try a different login method (Google, Microsoft, or password) if one is blocked
Contact your admin to check your account status
MSP domain restriction
If your admin has configured MSP domains (under Admin > Platform > Authentication), users with matching email domains must be explicitly invited before they can log in.
BillingCode does not exist or is invalid (Autotask)
This error occurs when a product is synced to Autotask but the assigned billing code is missing or has been deleted in Autotask.
How billing codes work
Salesbuildr maps billing codes to product categories. When a product is synced to Autotask, Salesbuildr assigns the billing code configured for that product's category.
Resolution
Navigate to Admin > Integrations > Autotask > Billing Codes
Check that the billing code assigned to the product's category still exists in Autotask
If the billing code was deleted or renamed in Autotask, run Admin > Integrations > Autotask > Synchronize to refresh the billing code list
Re-assign a valid billing code to the affected category
Retry the product sync
Billing codes are also used for ticket charges and purchase orders. If the error appears during a ticket charge or procurement flow, check the billing code configured at Admin > Integrations > Autotask > Purchase Order.
ConnectWise Sync Error: "catalogItem object is invalid" — Fixing a Broken Category Mapping
If you're seeing an error like "catalogItem object is invalid. 80 is an inactive" when syncing products to ConnectWise, don't worry — this isn't a problem with your product. It means a product category in Salesbuildr is mapped to a category that has since been disabled or made inactive in ConnectWise.
Why this happens
When a ConnectWise product category is disabled or archived, Salesbuildr doesn't receive any automatic notification. Because ConnectWise's API stops returning disabled categories, the mapping in Salesbuildr becomes silently orphaned — it appears to be missing rather than broken, which makes it difficult to spot without knowing what to look for.
How to fix it
1. Go to your ConnectWise category mappings Navigate to Admin > Integrations > ConnectWise > Categories. This page lists all the category mappings between Salesbuildr and ConnectWise.
2. Look for missing or incomplete mappings A broken mapping will appear as a Salesbuildr category with no corresponding ConnectWise category selected — the ConnectWise side will be blank or show no value. This is the orphaned mapping caused by the inactive ConnectWise category.
3. Delete the stale mapping Remove the incomplete mapping entry. This clears the broken link that is causing the sync error.
4. Remap to an active ConnectWise category Create a new mapping for the affected Salesbuildr category, this time selecting an active ConnectWise category. If you're unsure which categories are currently active, check your ConnectWise product catalogue settings to confirm.
5. Retry the sync Return to the affected product or quote and attempt to sync again. The error should no longer appear.
💡 Tip: Any time you archive or disable a category in ConnectWise, make a habit of revisiting Admin > Integrations > ConnectWise > Categories in Salesbuildr to update your mappings. There is no automatic warning when a mapped category becomes inactive.
Still seeing the error?
If the category mapping page looks correct and you're still getting the error, the broken relationship may need to be cleared manually. Contact Salesbuildr Support and include:
The name of the affected product
The full error message you're seeing
Our team can identify and remove the stale mapping directly so your sync can proceed.
No matching records found (Autotask)
This error typically appears during Autotask synchronization when Salesbuildr queries the Autotask API for a specific entity (product, company, contact, or opportunity) and Autotask returns no results.
Common causes
The entity was deleted in Autotask but its reference still exists in Salesbuildr
The Autotask API user doesn't have visibility to the entity (security level restrictions)
An external identifier stored in Salesbuildr no longer matches any Autotask entity
Resolution
Check whether the entity still exists in Autotask
If it was deleted, dismiss the sync issue at Admin > Tools > Issues
If it should exist, verify your Autotask API user's security level allows access to the entity type
Run a full sync to re-index the mapping between Salesbuildr and Autotask
Ticket charges are cancelled (Autotask)
Ticket charges synced from Autotask can have one of several statuses. When charges show as "cancelled," this reflects the status set in Autotask — Salesbuildr mirrors the Autotask status, it does not change it.
Ticket charge statuses
Autotask ticket charges have these possible statuses:
New — charge was just created
Waiting Approval — charge needs manager approval in Autotask
Approved/Posted — charge was approved and posted
Rejected — charge was rejected by an approver
Cancelled — charge was cancelled
Waiting Customer — pending customer action
Billed — charge has been invoiced
Resolution
Open the affected ticket charge in Autotask directly and check its status and history
If the charge was cancelled in error, recreate it in Autotask — it will sync back to Salesbuildr
If charges are being imported as cancelled automatically, check:
Admin > Integrations > Autotask > Purchase Order — the Import new ticket charges toggle controls whether new ticket charges from Autotask are imported into Salesbuildr procurement
The import only pulls charges created within the last 2 hours
Products marked as "Does not require procurement" are skipped during import
Preventing unwanted charge imports
If you're seeing unexpected ticket charges in your procurement queue, verify:
The product's "Does not require procurement" flag in Admin > Products
The billing code mapping for the product's category
User is not automatically linked
When a PSA sync runs, Salesbuildr attempts to match PSA users/contacts to Salesbuildr users by email address. If matching fails, the user exists in both systems but is not linked.
How user linking works
For ConnectWise:
Salesbuildr fetches all active ConnectWise members
For each member, it checks if a Salesbuildr user exists with a matching ConnectWise external identifier
If no match by identifier, it tries matching by email address
If still no match, a new Salesbuildr user is created with the ConnectWise member's details
Only members with
Regular MemberorSubcontractorlicense class are synced — other license types are skipped
For Autotask:
Resources are matched by the Autotask external identifier on the Salesbuildr user record
If no external identifier match, the system falls back to email matching
For HaloPSA:
Users are matched using the HaloPSA external identifier
If no match exists, email-based matching is attempted
Resolution
Check that the PSA user's email address exactly matches the Salesbuildr user's email (case-insensitive, trimmed)
If emails don't match (e.g., the user has a different email in the PSA), manually link the user:
Navigate to Admin > Users & Permissions
Edit the user and ensure the correct email is set
Run a sync to re-attempt the match
For ConnectWise: verify the user has a
Regular MemberorSubcontractorlicense — other license types are intentionally excludedIf a user is linked to the wrong PSA contact, check the external identifiers on the user record — a sync may have created a duplicate instead of matching the existing record
After fixing the email or identifier, run Admin > Integrations > [PSA] > Synchronize to trigger a re-sync
Company verification
After a user is linked to a company, the company link must be verified for the user to access company-specific features. This happens automatically during PSA sync for MSP users. For customer contacts, an admin may need to verify manually.
General troubleshooting steps
If none of the above issues match your situation:
Check sync issues — go to Admin > Tools > Issues for a list of recent failures with error messages. Use Retry or Retry All to re-attempt failed operations
Re-index — go to Admin > Tools > Maintenance > Re-index and re-index the affected entity type (products, opportunities, quotes, users, etc.)
Review activity logs — go to Admin > Tools > Logs to see recent changes and identify what may have caused the issue
Clear browser cache — for display or loading issues, clear your browser cache and reload
Check API credentials — for integration errors, verify your PSA/distributor API credentials haven't expired. See PSA Configuration for sync and credential settings
Report an incident — if the issue persists, check Platform Incidents for known outages or report a new issue
See also
After Onboarding — Getting Started
PSA Setup Guides — PSA Setup Guides
Release Notes — Support
Security & Legal — Support
Categories — Products