Glossary

QuickBooks Sub-Customer

A QuickBooks sub-customer is a customer record nested under another customer, so a group of related entities can each keep their own transactions and balance while still rolling up to one relationship.

Also called: sub-customer, subcustomer, parent customer, bill with parent, customer hierarchy in QuickBooks

Definition

Plenty of customers are not one customer. A franchisor sells to twelve locations. An agency bills one client across four brands. A property manager invoices a landlord for six buildings. In each case there is one relationship at the top and several things underneath it that need their own history.

QuickBooks handles this by letting a customer record point at a parent. Intuit describes the purpose as assigning "customers who are also part of a group or large organization as the sub-customers of an existing ‘parent’ customer". You tick the Is a sub-customer checkbox on the customer record, then pick the parent from a dropdown.

The structure has documented limits. Intuit states that "while you can have unlimited sub-customers, parent accounts can only have sub-customers up to four levels deep". So the breadth is unbounded and the depth is not.

What makes this more than an organisational nicety is a second setting that rides along with it, called Bill with parent. That one is not cosmetic. It decides which record the invoice is raised against, and therefore which record carries the balance, which record appears on an ageing report, and which record you have to select when you send a statement.

Key points

  • +A sub-customer is an ordinary customer record with a parent attached, not a separate object type.
  • +Intuit: sub-customers are for "customers who are also part of a group or large organization".
  • +Intuit: "while you can have unlimited sub-customers, parent accounts can only have sub-customers up to four levels deep".
  • +Set it with the Is a sub-customer checkbox, then choose the parent from the Parent customer dropdown.
  • +Bill with parent decides who is billed. Bill this customer keeps the sub-customer separately billable.
  • +With Bill with parent, Intuit says you can "show the charges for the parent customer and the charges for the sub-customer on the same invoice".
  • +Statements follow the billing setting: Intuit states that a sub-customer set to Bill with parent must be statemented from the parent.
  • +Sub-customers can be converted into Projects, but Intuit warns that sub-customer info such as addresses, tax code and billing info does not transfer.
  • +Conversion has prerequisites: Bill parent customer selected, and "a sub-customer cannot be a sub-customer of another sub-customer".
  • +Acodei syncs Stripe transactions to customer records without a hierarchy, so the parent and child structure is a QuickBooks-side arrangement.

Bill with parent is the setting that matters

Nesting a customer under a parent is a filing decision. Choosing how it is billed is an accounting one, and the two are set in the same panel, which is why they get conflated.

Bill this customer means the sub-customer is invoiced in its own name and carries its own receivable. Each location, brand or building owes you separately, appears on the ageing separately, and gets its own statement. Choose this when the entities underneath genuinely pay their own bills.

Bill with parent means the charges roll up. Intuit describes the effect on the document itself: you can "show the charges for the parent customer and the charges for the sub-customer on the same invoice", and where the sub-customer has a company name entered, that name "will appear on the parent invoice before the sub-customer charges". So the sub-customer still labels the work, and the parent owes the money.

The test for which to pick is not how the org chart looks. It is who writes the cheque. If one entity settles everything, bill with parent, and use the sub-customers to keep the detail legible. If each entity pays, bill them individually, because a receivable you cannot chase against the entity that owes it is a receivable you will chase badly.

Where the balance lives, and what a statement shows

A statement is produced per customer record, which makes the billing setting decide what a statement can even see.

Intuit states the rule directly: "If a sub-customer is set to ‘Bill with parent,’ you must create the statement for the parent customer to include the sub-customer’s transactions." Run the statement against the sub-customer instead and you will get a document that omits exactly the charges you meant to chase.

The same logic runs through the reports. On Bill with parent, the open balance sits on the parent, so the parent is the line on your accounts receivable ageing. On Bill this customer, each sub-customer is its own line, and the parent shows only what was billed to the parent directly.

Neither arrangement is wrong. What causes trouble is a file where the two are mixed inconsistently across a group, because then no single report answers the question "what does this relationship owe us" and the answer has to be assembled by hand every month.

Sub-customer, project or class

Three QuickBooks features overlap here, and picking the wrong one is expensive to undo.

A sub-customer is a customer. It has a balance, it can be invoiced, and it can be sent a statement. Reach for it when the thing underneath is an entity you have a billing relationship with.

A project is a container for one piece of work for one customer, built to report income, costs and profit on that job. Reach for it when the thing underneath is work rather than a payer. QuickBooks will convert a sub-customer into a project, which tells you how closely related the two are, and Intuit sets prerequisites for the conversion: the record must have Is a sub-customer and Bill parent customer selected, it must be linked to only one parent, and "a sub-customer cannot be a sub-customer of another sub-customer".

That conversion is not free. Intuit warns that "your sub-customer info such as addresses, tax code, and payment and billing info won’t transfer over to the project", and that creating a new project from scratch rather than merging leaves the existing transactions behind. Decide before you have two years of history riding on the choice.

A class or a location is a label you attach to a transaction for reporting. It holds no balance and cannot be billed. Reach for it when you want a second axis on a report and nothing more.

What this means when the invoices come from Stripe

Stripe has no hierarchy for customers. A Stripe Customer is flat: it has an id, a name, an email and a currency, and nothing in the object says one customer belongs to another.

That matters because a sync between the two systems can only carry what the source holds. A parent and child structure you build in QuickBooks is a QuickBooks-side arrangement, and it is not something a Stripe-sourced transaction knows how to join.

The practical version, for a business that raises its invoices in Stripe and keeps its receivables in QuickBooks: the hierarchy keeps working for everything you raise inside QuickBooks, and synced records arrive alongside it rather than inside it. If a group structure is central to how you bill, that is worth designing around before the volume arrives, not after.

What Acodei does with a parent and child structure

Acodei does not handle QuickBooks sub-customers. The product documentation lists it as a known limitation and describes the customer sync as flat, so a parent and child structure is not something a synced transaction is placed into. Nothing documents Acodei creating a sub-customer, reading an existing hierarchy, or choosing a parent record over a child one.

What is documented is how the customer is resolved at all. Acodei matches the Stripe customer to a QuickBooks customer by name, and creates one when there is no match. The match is case-insensitive but must be character-for-character identical, and once a link exists it is held by the QuickBooks customer id. There is also no manual record linking: you cannot pair a specific Stripe customer with a specific QuickBooks customer by hand to override the result.

One related behavior surprises people who have already built a structure, so it is worth naming here. If a Stripe customer’s currency differs from the currency on the existing QuickBooks customer, Acodei creates a second record in the form of the customer name followed by the currency code, for example Acme - CAD, and posts the invoice against that one. This is designed behavior rather than a defect: QuickBooks fixes one currency per customer record, so a customer billed in two currencies cannot be a single record. The lookup keys on the QuickBooks customer id, so it survives suffixes that a plain name search would miss.

Read together, those two facts set the expectation for a group structure. Synced records land on ordinary customer records, and a customer billed in more than one currency will have more than one of them.

Want to see this on your own Stripe data?

Start a free trial

Frequently asked questions

What is a sub-customer in QuickBooks Online?

A customer record nested under another customer record. Intuit describes it as a way to assign "customers who are also part of a group or large organization as the sub-customers of an existing ‘parent’ customer". It is a normal customer in every other respect, so it can hold transactions and a balance of its own.

How many sub-customers can a customer have?

Intuit states that "while you can have unlimited sub-customers, parent accounts can only have sub-customers up to four levels deep". So the number underneath one parent is not capped, but the depth of nesting is.

What does Bill with parent actually do?

It moves the billing to the parent record. Intuit says the option lets you "show the charges for the parent customer and the charges for the sub-customer on the same invoice", with the sub-customer name appearing on the parent invoice before its charges. The receivable then sits on the parent, which is what shows on your ageing report.

Do sub-customer transactions show on the parent statement?

Only when the sub-customer is set to bill with the parent. Intuit states that "if a sub-customer is set to ‘Bill with parent,’ you must create the statement for the parent customer to include the sub-customer’s transactions". Where each sub-customer is billed individually, each one is statemented individually.

Should I use a sub-customer or a project?

Use a sub-customer when the thing underneath is an entity you bill. Use a project when it is a piece of work whose income, costs and profit you want to measure. QuickBooks can convert a sub-customer into a project, but Intuit warns that "your sub-customer info such as addresses, tax code, and payment and billing info won’t transfer over to the project", so the choice is easier to make early than late.

Does Acodei sync Stripe customers into a sub-customer hierarchy?

No. Acodei’s product documentation lists QuickBooks sub-customers as not handled and describes the customer sync as flat, and there is no documented behavior for creating or reading a parent and child structure. Synced records arrive as ordinary customer records, matched to an existing QuickBooks customer by name where one matches exactly.

Why did a customer appear with a currency after its name?

Because the Stripe customer’s currency differs from the currency on the existing QuickBooks customer. Acodei creates a record in the form of the name followed by the currency code, such as Acme - CAD, and posts the invoice against it. QuickBooks fixes one currency per customer record, so this is designed behavior rather than a duplicate to merge away.

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.