PSA Account Visibility Troubleshooting
Steps to find missing PSA Accounts, and various troubleshooting.
If a customer is missing from Gradient reconcile when you expect to see them, the cause is almost always something on the PSA side that controls whether Gradient is allowed to pull that account in. This article walks through the most common reasons and the fix for each, with a section dedicated to Autotask and ConnectWise specifically.
- A customer is in your PSA but not appearing in account mapping in Gradient
- You see two versions of the same customer in the mapping list with different IDs
- You added a new customer to your PSA and they are not showing up in Gradient
- Some agreement types are syncing but others are not
In this article
Step 1: Did you run a Full PSA Sync?
Gradient pulls PSA data on a schedule, not in real time. If you added the customer or made the change recently, Gradient may simply not have synced yet.
- Settings → PSA Configuration → Start Full Sync
- Wait for the sync to complete (10 to 30 minutes for most PSAs)
- Re-check the account mapping screen
Any time you change something in your PSA (new customer, new agreement, modified product, changed account type), run a Full PSA Sync. Most “my customer is missing” tickets resolve themselves after a sync.
See also: How to initiate a full PSA Sync.
Autotask: the most common visibility blockers
Autotask has the most account-visibility rules of any PSA Gradient integrates with. These rules exist for good reasons in Autotask, but they can hide customers from Gradient if you do not know about them.
1. Account Type must be Customer
Gradient only pulls accounts whose Account Type is set to Customer. Prospects, Vendors, Partners, and other account types are deliberately excluded.
To check or fix:
- Open the account in Autotask
- Look at Account Type in the company record
- If it is anything other than Customer, you have two choices:
- Change Account Type to Customer (recommended if they are actually a paying customer)
- Leave it as-is (Gradient will continue to ignore them)
If any service card in Gradient shows literal text like “clientName” instead of the actual company name, it means an active contract exists for an account that does not have Account Type = Customer. Update the Account Type in Autotask, then run a Full PSA Sync.
2. The customer has no active contract with a recurring service
Gradient does not pull accounts that have no billable, recurring contracts. If the customer exists in Autotask but has only one-time contracts, or has no contracts at all, they will not appear.
| Check | Fix |
|---|---|
| Does the customer have at least one active contract? | Create or activate a contract |
| Is the contract Active (not Cancelled, Expired, or Pending)? | Activate or extend the contract |
| Does the contract contain a Recurring Service? | Add at least one Recurring Service to the contract |
| Is the contract within the date range that's currently active? | Adjust start or end dates |
3. API user permissions
The Autotask API user Gradient connects with needs specific permissions. If you have recently changed security levels or rotated the API user, certain accounts can become invisible. The Datto Autotask Integration Guide lists the full required permission set. The most commonly-missed permission is All permission to Customer & Cancellation under CRM.
ConnectWise: the most common visibility blockers
1. Agreement Billing Cycle is set to None
Gradient only syncs agreements with a recurring billing cycle. If an agreement has Billing Cycle = None, the agreement and the customer associated with it will not appear in Gradient.
- Open the agreement in ConnectWise
- Check Billing Cycle
- If it is None, change it to Monthly, Quarterly, Annual, or whatever matches your billing cadence
- Run a Full PSA Sync
2. The ConnectWise Recycle Bin
This is the source of one of the most confusing situations: you see the same customer name twice in the mapping list with different PSA IDs. One is the active company, the other is a recycled (deleted but recoverable) version.
To identify which is which:
- In ConnectWise, navigate to Companies
- Look at the RecId field for each version
- Cross-reference the active company's RecId with what you see in Gradient
- Map to the active RecId
- If you want to clean up, empty the recycle bin: System → Mass Maintenance → Company Recycle Bin
3. Security role permissions
The ConnectWise security role used for Gradient needs specific permissions across Companies, Finance, Agreements, Procurement, Service Desk, and System tables. The most commonly-missed are:
- Inquire on Company Maintenance
- Add, Edit, Inquire on Agreements (with the right agreement types in the Allow list)
- Inquire on Product Catalog
- Customize on Table Setup with Company Status, Company Type, Billing Cycle, and Service Board set to Allow
Full details are in the ConnectWise Manage Integration Guide.
If you previously allowed certain agreement types and then removed them from the security role, those agreements may stay in Gradient as stale data. Contact support@meetgradient.com to clean them out, or push a Full PSA Sync and verify the affected agreements disappear from the dashboard.
4. Custom company statuses
ConnectWise lets you customize even the default company statuses, and Gradient's API filter relies on standard status types. If you have heavily customized statuses, some accounts may be invisible because Gradient cannot reliably filter against editable statuses.
If you suspect this is your issue, contact support@meetgradient.com with the customer name. We can investigate the specific status configuration.
See also: ConnectWise PSA Troubleshooting Guide and ConnectWise PSA Specific Information.
Other PSAs
HaloPSA
| Check | Fix |
|---|---|
| Is HaloPSA running version 2.146 or newer? | Upgrade to the latest version to ensure all sync improvements are available |
| Does the client have at least one active recurring invoice line item? | Add or activate a recurring service |
| Is the API user's role permission set correctly? | Reference the HaloPSA Integration Guide for the required role permissions |
Syncro
| Check | Fix |
|---|---|
| Does the customer have a recurring invoice line item? | Add at least one recurring line |
| Are the API token permissions still set correctly? | Re-create the token using the permissions listed in the Syncro Integration Guide |
Kaseya BMS and Pulseway
Both follow the same general pattern: the customer must have an active, recurring billable contract, and the API user must have the documented permissions. See the Kaseya BMS Integration Guide and Pulseway PSA Integration Guide for platform-specific notes.
Special case: multi-site customers
If your customer has multiple physical locations or business units that exist as separate accounts in your vendor portal but as a single company in your PSA (or vice versa), this is a mapping decision, not a visibility problem. The customer will appear in Gradient — you just need to decide how to map them.
| Your situation | Recommended mapping |
|---|---|
| Multiple vendor sites, one PSA company | Map all vendor sites to the same PSA company. Gradient will aggregate counts. |
| One vendor account, multiple PSA companies | Map to whichever PSA company actually carries the billing for that vendor service |
| Each location has its own PSA company and its own vendor account | One-to-one mapping per location |
If you are not sure how to handle multi-site, lean toward mapping vendor data to the PSA company that holds the billing. Splitting later is a manual data exercise; aggregating later requires re-mapping.
For more on mapping mechanics: Integration Account and Service Mapping.
Still stuck? What to send support
Email support@meetgradient.com with:
- The customer's name in your PSA
- The customer's account ID or RecId in your PSA
- Which PSA you are using
- Whether the customer has at least one active recurring agreement or contract
- A screenshot of the customer's record in your PSA showing Account Type, Status, and Agreements
Related articles