Glossary

QuickBooks Project

A QuickBooks project is a container that collects the income and costs belonging to one discrete piece of work for one customer, so you can measure whether that individual job made money.

Also called: projects, QuickBooks projects, job costing, project profitability

Definition

Intuit describes the feature by what it measures: projects let you "track income and costs for specific projects, or across multiple projects, so you can measure profitability." A project groups "individual transactions, estimates, and expenses associated with a single customer in one place", and when the work is finished the project shows total income, expenses and profit margin.

The word that matters in that description is "group". A class and a location are labels. You attach one to a transaction that already exists and would exist unchanged without it, and the label buys you a second axis on a report. A project is not a label. It is a container with a customer attached and a beginning and an end, and the transactions go inside it.

That difference is not a technicality, because it changes the question you can answer. Classes and locations answer "does this part of the business make money". Projects answer "did this particular job make money". A business can care about both, and many do, but no amount of class discipline will produce the second answer, because a segment has no end date and a job does.

Projects require QuickBooks Online Plus or Advanced, the same tier requirement classes and locations carry.

Key points

  • +Intuit: projects "track income and costs for specific projects, or across multiple projects, so you can measure profitability."
  • +A project groups "individual transactions, estimates, and expenses associated with a single customer in one place".
  • +A project is a container with a lifecycle, not a reporting label like a class or a location.
  • +Every project belongs to a customer, chosen from the Customer dropdown when you create it.
  • +A completed project reports total income, expenses and profit margin.
  • +Requires QuickBooks Online Plus or Advanced.
  • +Turned on under Account and settings, then Advanced, then "Organize all job-related activity in one place".
  • +Projects are not a usage-limited category, unlike the 40 combined classes and locations on Plus.
  • +To move an existing transaction into a project, Intuit says to "select the project in the Customer field".
  • +Stripe has no project concept, so the association is made on the QuickBooks side.

A container, not a label

The clearest way to see the difference is to ask what happens to a transaction when you remove the tag. Take the class off an invoice and you still have the invoice, unchanged, posting to the same accounts. The class was commentary. Take a transaction out of a project and the project itself changes, because the project was never anything except the sum of what is inside it.

That is why projects have a lifecycle and classes do not. Intuit describes the payoff in terms of completion: when a project is done you see total income, expenses and profit margin. "Done" is a state a job can be in. A department is never done, so a class has nothing to report at the end of anything, only over a date range you pick.

The practical consequence for setup is that the two lists behave differently over time. A class list is meant to be short and stable, because it describes the permanent shape of the business. A project list is meant to grow and then go quiet, because it describes work that arrives, gets done, and stops. A business that models jobs as classes ends up with a class list that grows without limit and a usage limit that stops it, which is one of the more common ways of discovering that the two are not interchangeable.

Projects live in the Customer field

The structural fact worth knowing before you plan anything around projects is where a project sits on a transaction, because it is not where a class or a location sits.

Every project belongs to a customer. Intuit's creation flow has you select a customer from the Customer dropdown, and its instruction for assigning an existing transaction is to open it and "select the project in the Customer field". A project therefore occupies the customer slot rather than adding a new one.

That has a consequence people meet by surprise. A class is an extra field, so a transaction can carry a customer and a class independently, and adding classes later disturbs nothing. A project is not an extra field. Putting a transaction into a project means the project is what the transaction points at, so anything that writes the customer on a transaction is also deciding, by omission, that the transaction belongs to no project.

This is the single most important thing to understand about combining projects with any automated feed of sales into QuickBooks. Classes and locations can be added to records written by an integration without touching how the customer is resolved. Projects cannot, because they are competing for the same field.

What the usage limits do and do not cover

Classes and locations share one budget on QuickBooks Online Plus. Intuit's usage-limits article puts the Plus allowance at "40 combined classes and locations", with Advanced offering "Unlimited classes and locations", and notes that "Only active (or invited) users, accounts, classes, locations, and custom fields, count toward the limit in each category."

Projects do not appear in that article as a limited category at all. The limited categories Intuit lists are billable users, non-billable users, classes and locations combined, chart of accounts, custom fields, and QuickBooks Commerce Accounting sales channels. Projects are absent from the list.

That asymmetry is worth planning around rather than treating as trivia, because it points the same direction the conceptual difference does. A segmentation axis is meant to be a small, curated list, and Intuit prices it that way. Work is meant to arrive continuously, and Intuit does not meter it. If the thing you want to track is countable, finite and permanent, it is probably a class or a location. If new instances of it show up every month and eventually finish, it is probably a project, and modelling it as a class is how a business ends up rationing forty slots against work that has no natural ceiling.

Stripe has no project, and no lifecycle to borrow

Nothing in the Stripe data model corresponds to a QuickBooks project. This is a deeper mismatch than the one classes and locations have, and it is worth being precise about why, because the fix that works for those two does not work here.

A class or a location is a single value. Stripe has plenty of places to keep a single value: metadata on a charge, a distinct product or price, a separate Stripe account. Once the value is somewhere on the transaction, translating it into a QuickBooks label is a lookup.

A project is not a value. It is an object with a customer, a start, an end, and a set of member transactions, and Stripe models none of those. Stripe knows about customers, but a Stripe customer is the person or company paying you, whereas a QuickBooks project is a job belonging to that customer. Stripe has no notion of a job at all, and no notion of one finishing. So there is no field to read the project from, and no event that tells QuickBooks a project has ended.

That leaves the association to be made on the QuickBooks side, and it interacts with the Customer field point above. A sale has to name a customer in QuickBooks, and the customer is the fact a payment processor actually knows. The project is not, because the information that would identify one does not exist upstream. So any business that wants processor revenue counted inside project profitability is looking at a deliberate QuickBooks-side step rather than something that arrives on its own, and that is much cheaper to plan at setup than to discover at the end of a job.

Choosing between a project, a class and a location

Three questions separate them cleanly, and they are worth asking in this order.

Does it end? If the thing you are tracking has a completion date after which no more transactions belong to it, it is a project. Renovations, engagements, builds, installations, cases, events. If it never ends, it is a class or a location.

Is it a place? If it is a permanent physical site and every transaction belongs entirely to one of them, it is a location. Locations attach to a whole transaction and cannot vary line by line, which is fine for a place and limiting for anything else.

Is it a way of cutting up the permanent business? Then it is a class. Departments, product lines, funding sources, programs. Classes are the most flexible of the three because they can vary line by line, and the most easily abused for the same reason.

They compose, which is the part worth remembering. A single invoice can belong to a project, carry a location, and have its lines split across classes, and the reports answer three different questions from the same record. What does not work is substituting one for another, because the reports they produce are not answers to the same question with different labels on them.

Frequently asked questions

What is a project in QuickBooks Online?

A container that collects the income and costs for one discrete piece of work for one customer. Intuit describes projects as a way to "track income and costs for specific projects, or across multiple projects, so you can measure profitability", grouping transactions, estimates and expenses in one place. A completed project reports total income, expenses and profit margin.

How is a project different from a class?

A class is a label attached to a transaction that would exist unchanged without it. A project is a container the transaction goes inside, with a customer and an end date. Classes answer whether a part of the business makes money. Projects answer whether one job made money, which is a question a class cannot answer because a segment never finishes.

Which QuickBooks plans include projects?

QuickBooks Online Plus and QuickBooks Online Advanced, the same tier requirement that class tracking and location tracking carry. Advanced adds project estimates and estimate versus actuals reporting on top.

How do I turn on projects in QuickBooks Online?

Go to Account and settings, select Advanced, and turn on "Organize all job-related activity in one place". Projects then appear as their own area where you create a project and pick the customer you are doing the work for.

Do projects count against the QuickBooks usage limits?

No. Intuit's usage-limits article lists billable users, non-billable users, classes and locations combined, chart of accounts, custom fields, and QuickBooks Commerce Accounting sales channels. Projects are not among them, so unlike the "40 combined classes and locations" allowance on Plus, there is no published cap to ration.

How do I add an existing transaction to a project?

Intuit's instruction is to open the transaction and "select the project in the Customer field". That is the detail worth internalising: a project occupies the customer slot rather than adding a separate field, which is why it behaves differently from a class when something else is already deciding the customer.

Can Stripe transactions be assigned to a QuickBooks project?

Not from anything in Stripe, because Stripe has no project concept to read from. A Stripe customer is who pays you, not the job you are doing for them, and Stripe has no representation of a job or of one finishing. Any association between Stripe revenue and a QuickBooks project has to be made on the QuickBooks side.

What customers say about running Stripe through Acodei

Stripe Verified Partner BadgeQuickBooks Intuit Badge
If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.
RyanOwner at Indie Music Academy
Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.
AndresCo-founder and CEO at Kanguro Collections and Reinsurance

Ready to try Acodei?

Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.