Setting a QuickBooks Class on a Service

If you use classes in QuickBooks Online to track income and expense by department, location, or line of business, Discovery can stamp a class onto every line it posts to QuickBooks. You choose one default class for the whole company, then override it for individual services — so a service that belongs to a different department carries that department's class instead.

Classes are only available when your accounting system is Quickbooks Online. The setting does not appear for QuickBooks Desktop, or if no accounting system is selected.


What a class gets attached to

Once classes are turned on, Discovery includes a class on:

  • Client invoice line items posted to QuickBooks Online
  • Vendor invoice (bill) line items posted to QuickBooks Online
  • Journal entry lines created from client invoices and client credit memos

Discovery picks the class for each line in this order:

  1. The override class on the service that line item belongs to, if one is set
  2. Otherwise, your default class
  3. Otherwise, no class at all

That means you only need overrides for the services that are exceptions. Everything else falls through to the default.

One exception: on adjusting journal entries, lines being moved to a different fiscal period than the invoice they came from are posted without a class.


Step 1 — Turn on class syncing

  1. Discovery pulls your class list from QuickBooks. You need permission to manage tenant settings to make these changes.
  2. Go to Settings → Accounting → Integration.
  3. Make sure Accounting System is set to Quickbooks Online and that your QuickBooks connection is active.
  4. Switch Sync Quickbooks Classes on.
  5. Pick a Default Quickbooks Class. This is the class used for any line item whose service does not have an override.
    • You may leave this set to None. If you do, line items without an override are posted with no class at all.

  1. Click Save.

After you save, two new things appear:

  • A Classes tab on the Integration page, listing every class Discovery knows about, with a Refresh Classes button.
  • A Quickbooks Class Overrides item in the Settings menu, under Accounting.

Turning Sync Quickbooks Classes back off clears your default class and stops Discovery from sending any class to QuickBooks. Your service overrides are kept, so turning the setting back on later restores them.


Step 2 — Set an override class on a service

  1. Go to Settings → Accounting → Quickbooks Class Overrides.
  2. You will see every service in your account, with its current Override Class beside it. Services with a blank Override Class use the default.
    • Use the Service and Override Class column headers to sort.
    • The list is paged 100 services at a time.
  3. Tick the checkbox next to each service you want to change.
    • The checkbox in the header selects every service on the current page. If you need to change services across several pages, do one page at a time, or use the CSV import below.
  4. In Class to Set on Selected Services, choose the QuickBooks class you want those services to use.
  5. Click Apply Override to Services.

The Override Class column updates for the services you selected. The change takes effect on the next invoice or journal entry Discovery posts — anything already posted to QuickBooks is not changed.

Removing an override

Select the services, choose None (remove override class) from the class list, and click Apply Override to Services. Those services go back to using the default class.


Setting overrides in bulk with a CSV

For more than a page or two of services, import a spreadsheet instead.

  1. On the Quickbooks Class Overrides page, click CSV Import.
  2. Click Template to download a starter file. It has two columns, and both headers are required and must be named exactly service and class. If either is missing, nothing is imported and you will see "Unable to import file: required headers missing."
Column What goes in it
service The Discovery service ID, e.g. SSL-12345
class The QuickBooks class name, spelled exactly as it appears in QuickBooks. Leave blank to remove the service's override.
  1. Drag your completed file onto the page, or click Select File.
  2. Click Import.

Every valid row is applied. If some rows could not be applied, Discovery lists them with a reason — the rest still import, so you only need to fix and re-import the listed rows.

Reason What it means
Service not found No service in your account has that ID. Check for typos or extra spaces.
Class name not found or inactive No active QuickBooks class has that name. Class names must match exactly, including capitalization. Try Refresh Classes first (see below).
Conflicts with another row The same service appears more than once in the file with different classes. Delete the duplicates and keep the row you want.

Keeping the class list current

Discovery holds its own copy of your QuickBooks class list. When you add, rename, or deactivate a class in QuickBooks Online, tell Discovery to catch up:

Go to Settings → Accounting → Integration → Classes and click Refresh Classes.

Refreshing will:

  • add classes that are new in QuickBooks,
  • update the names of classes that were renamed, and
  • mark classes that no longer exist in QuickBooks as inactive.

Inactive classes cannot be picked as a default or applied as an override, and they cannot be used in a CSV import.


Keeping the class list current

Discovery holds its own copy of your QuickBooks class list. When you add, rename, or deactivate a class in QuickBooks Online, tell Discovery to catch up:

Go to Settings → Accounting → Integration → Classes and click Refresh Classes.

Refreshing will:

  • add classes that are new in QuickBooks,
  • update the names of classes that were renamed, and
  • mark classes that no longer exist in QuickBooks as inactive.

Inactive classes cannot be picked as a default or applied as an override, and they cannot be used in a CSV import.


Troubleshooting

"The following classes were inactive in QuickBooks the last time a refresh was performed: …"

This appears when you try to send a client invoice that would post with a class that has been deleted or deactivated in QuickBooks. Either reactivate the class in QuickBooks and click Refresh Classes, or point the affected services (or your default) at a class that is still active, then send the invoice again.

"The following Classes do not exist or are inactive in QuickBooks Online: …"

This appears on an invoice or vendor invoice that failed to post. The class was still valid in Discovery but has since been removed in QuickBooks. Click Refresh Classes, correct the default or the affected service overrides, then post again.

A line posted with no class, or the wrong class

Check, in order:

  1. Is Sync Quickbooks Classes still on?
  2. Does the service on that line have an override? (Settings → Accounting → Quickbooks Class Overrides)
  3. Is a Default Quickbooks Class set, or is it None?
  4. Was the line part of an adjusting journal entry moving revenue to a different fiscal period? Those lines are posted without a class by design.

Remember that overrides apply going forward only — they do not change anything Discovery has already posted.


If you have additional questions or need more in depth information, please feel free to send us a message using the help beacon in the lower right-hand corner.