ConnectWise GL Accounts Setup Table
The GL Accounts setup table is where you create the general ledger mappings applied to your invoices and expenses when posting to your accounting package.
Important: Account numbers you enter must match exactly what is in your accounting package. If they do not match, the accounting package may create new accounts automatically.
Important: If a corporate-level mapping does not exist, ConnectWise will display: “The Corporate Level (My Company: Owner) mapping does not exist for this Account Type.” Missing this mapping leads to account errors in the accounting interface when transferring invoices.
Note: GL accounts included on a new ConnectWise install are samples only. Replace them with the actual account names or numbers from your accounting software. Consult your accounting professional before changing your chart of accounts.
Before you start
Have the following ready before mapping GL accounts:
- Your accounting package open to the Chart of Accounts — copy and paste account names and numbers to avoid typos
- The account type, table, and record needed for each mapping
- Mandatory field requirements for your accounting package (item IDs, sales codes, inventory accounts, COGS accounts)
Field descriptions
List view columns
| Column | Description |
|---|---|
| Account Type | The selected account type |
| Table | The selected table reference |
| Record | The selected record |
| Account Number | The account set on the GL setup |
| GL Product ID | The product ID defined on the GL setup |
| Sales Code | The sales code |
| COGS | The Cost of Goods Sold account name |
| Inventory | The inventory account number for the line item |
| Last Update | Date and time the GL was last updated |
List view actions
Update Accounts — Select this to change account details across multiple GL records at once.
GL Account Setup pod fields
Select an existing account number or create a new record to open the GL Account detail pod. If you configured multiple segments in the Accounting Package Setup Table, additional fields appear here.
| Field | Description |
|---|---|
| Copy | Select the copy icon to duplicate the GL account record |
| Account Type | The type of account — for revenue and expense items, this determines where the revenue or expense originates, so you can route different types to different accounts |
| Mapped Type | The table option that defines which setup table records you can select from. Options vary by account type. Some are broad (e.g., My Company: Owner); others are granular (e.g., Work Type). |
| Mapped Record | The specific record within the mapped type. For expense tax mappings, select the tax type here. Tax types are enabled via the Display taxes on expenses checkbox in the Invoicing Options pod of the Billing Setup Table. |
| Account | The account number or name from your accounting package — must match exactly. With multiple segments, see Mapping accounts with multiple segments. |
| Product ID | A product ID from your accounting package. Required by some packages. In QuickBooks, this value appears in the Item column on the invoice; leaving it blank in a time entry leaves that column blank. |
| Inventory | The inventory account number for the GL account |
| Sales Code | The sales code (similar to item ID). Only used for MAS. |
| COGS | A cost of goods sold account number |
| Class | An account segment value |
Note: If expenses have already posted under the Unposted Expenses tab in the Accounting Interface before you added new expense types to the GL Accounts table, you must reverse the expense report (if submitted) and resave each expense individually for the accounts to update. Otherwise, open each expense GL entry manually and add the accounts.
Important: The character limit for all ConnectWise fields is 255. Your accounting package may enforce different limits.
Table options definitions
These are the available Mapped Type options and what each one controls.
| Mapped Type | What it records |
|---|---|
| My Company: Owner | All accounts receivable entries for your instance — the catch-all at the highest level. Captures any AR entries not covered by a more granular mapping. |
| My Company: Structure | AR entries under a specific location in your Company Structure, depending on the item being invoiced (service tickets, sales orders, etc.) |
| My Company: Groups | AR entries under a specific group (department or business unit) in your Company Structure |
| Service: Type | Revenue from time billed on service tickets not covered by an agreement, for a specific service type |
| Project: Type | Revenue from time billed on projects not covered by an agreement, for a specific project type. Service Type mappings do not work for Projects — use Project Type instead. |
| Charge Code | Revenue from time billed under a specific charge code, not covered by an agreement |
| Individual Project | Revenue from time billed on a specific individual project, not covered by an agreement |
| Work Role | Revenue from time billed under a specific work role, not covered by an agreement |
| Work Type | Revenue from time billed under a specific work type, not covered by an agreement |
| Agreement: Type | Deferred revenue from prepaid agreements of a specific agreement type |
| Products: Category | Revenue from billing products not covered by an agreement, for a specific product category |
| Products: Subcategory | Revenue from billing products not covered by an agreement, for a specific product subcategory |
| Tax Code: Level 1-6 | Tax code level components, used when mapping parts of a tax group to different sales tax payable accounts |
| Expense Tax Type | Tax amount associated with employee-paid expenses under a specific tax type |
| Charge Code-Expense Type | Costs under an expense type linked to a charge code, logged against an internal company |
| Expense: Payment Type | Non-reimbursable expenses under a specific expense type |
Note: ConnectWise evaluates mappings from the most granular level first and moves up. For the Revenue account type, the sequence starts at Work Type and moves up to My Company: Owner. For Revenue Agreements Products, it starts at a specific product, then moves up through subcategory, category, and beyond.
Create GL account mappings
Set up purchase order freight and product tax
ConnectWise does not send the GL account for purchase order product tax to your accounting package automatically. The GL account is required for taxes to calculate on purchase orders and for procurement batching to work.
Accounting package notes:
- Canada and U.K. QuickBooks — The Tax Item on the item receipt updates to the Tax Code set on the purchase order.
- U.S. QuickBooks — Item receipts do not support a Tax Item.
- Reckon — Item receipts do not support a Tax Item.
To set up purchase order freight and product tax:
- Go to Procurement > Purchase Orders.
- Select New Item.
- In the Tax Code field, select a tax code.
- Select Apply tax to taxable products.
- Select Freight cost is taxable.
- Select Save.
- Select the Products tab of the purchase order.
- Select New Item.
- In the Product ID field, select a product.
- In the Unit Cost field, enter a freight cost.
- Select Save.
Create a GL account
Before starting, open your accounting package to the Chart of Accounts. Check what fields are required for your package (item IDs, sales codes, inventory accounts, COGS accounts).
- Go to System > Setup Tables > GL Accounts.
- Remove any sample GL entries. Starting fresh is easier than auditing what was changed.
- Select New Item.
- In the Account Type field, select Accounts Receivable. Typically you will have only one AR account.
- In the Table field, select My Company: Owner.
- In the Record field, select your company ID.
- In the Account field, enter your Accounts Receivable account number.
- Select Save and Close.
- Continue mapping Accounts Payable and Revenue account types. Revenue mapping covers all non-recurring revenue.
Revenue mapping options:
- One account for all non-recurring revenue — map at the My Company: Owner level.
- One account per group — map at My Company: Group for each group. You can set the catch-all at My Company: Owner and add My Company: Group entries as exceptions — the group-level mapping overrides the owner-level when the invoice closes.
- Service and project revenue to separate accounts — map My Company: Owner to the service revenue account, then map each Project: Type to the project revenue account.
- Service revenue by service type — map each service type individually, then map the project types. If you add a new service type or project type later, return to GL Accounts and add the mapping.
- Credit memos — use the Revenue or Revenue - Products and Accounts Receivable account types. If an amount is entered in the Total field, a Revenue mapping must exist at My Company: Owner, My Company: Structure, or My Company: Groups for the credit to post.
Note: To test mappings, close an invoice of the type you want to verify. The Invoice GL Entries tab shows the account type and mappings applied. To refresh an invoice after changing GL entries, reopen it and close it again.
Important: For U.S. partners, expense tax should post to a P&L account such as a COGS account. For non-U.S. partners, expense tax should post to an expense tax type or other current liability account.
Sample revenue mapping data
| Scenario | Account Type | Table | Record | Account |
|---|---|---|---|---|
| One account for all revenue | Revenue | My Company: Owner | MYCOMPANY | Revenue |
| Managed Services group | Revenue | My Company: Group | Managed Services | Managed Services Revenue |
| Professional Services group | Revenue | My Company: Group | Professional Services | Prof. Services Revenue |
| Web Services group | Revenue | My Company: Group | Web Services | Web Revenue |
| Service revenue (owner-level) | Revenue | My Company: Owner | MYCOMPANY | Service Revenue |
| Project Revenue – Installation | Revenue | Project: Type | Installation | Project Revenue |
| Project Revenue – Web Site | Revenue | Project: Type | Web Site | Project Revenue |
| Project Revenue – Network | Revenue | Project: Type | Network | Project Revenue |
Mapping accounts with multiple segments
When your accounting package uses multiple GL segments:
- You do not have to map all segments at every level.
- Use the exception rule: map the account at the highest level, then add exceptions for specific groups or types that differ. This works well when most items share one account, with only a few going elsewhere.
Note: If your account structure is simple, you can enter all segments directly in the Account field.
Multi-segment example
An accountant tracks revenue by class: Managed Services, Professional Services, and Web Services. They also have two revenue accounts: Service Revenue and Project Revenue. Here is how the mappings would look:
| Revenue Class | Account Type | Table | Record | Account | Class |
|---|---|---|---|---|---|
| Managed Services Class | Revenue | My Company: Groups | Managed Services | N/A | MS |
| Web Services Class | Revenue | My Company: Groups | Web Services | N/A | Web |
| Professional Services Class | Revenue | My Company: Groups | Professional Services | N/A | PS |
| Service Revenue | Revenue | My Company: Owner | MYCOMPANY | Service Revenue | N/A |
| Service Project | Revenue | Project: Type | Service | Project Revenue | N/A |
| Web Project | Revenue | Project: Type | Web | Project Revenue | N/A |
In this setup, classes are assigned at the group level with no account, so the class is always set regardless of revenue type. The owner-level mapping provides the default account for most invoices, and project type exceptions handle the rest.
General ledger sequence logic
When ConnectWise evaluates which GL mapping to apply, it starts at the most granular level and moves up until it finds a match. You do not need a mapping at every level.
For the Revenue account type, the sequence runs from most to least granular:
- Work Type
- Charge Code
- Individual Project
- Work Role
- Service Type / Project Type
- My Company: Groups
- My Company: Structure
- My Company: Owner
If no Revenue mapping exists for an individual project, ConnectWise looks for a charge code match next, then continues up the chain to My Company: Owner.
Product ID, Inventory, and COGS also resolve from the most granular level. If these fields are not set at the lowest matched level, ConnectWise continues rolling up through the levels to find them — even after the account and class segments are resolved.
With multiple segments, ConnectWise checks all revenue mappings to determine whether all segments are used. If a mapping uses all segments, that mapping takes precedence.
Dynamics GP mapping reference
| ConnectWise Manage | Dynamics GP |
|---|---|
| Invoices | Sales > Sales Transaction Entry |
| Expenses | Purchasing > Payable Transaction Entry |
| Purchase Orders | Purchasing > Receiving Transaction Entry |
| Inventory Adjustments | Inventory > Transaction Entry |
| Inventory Transfers | Inventory > Transfer Entry |