Please Learn from the input here. COGS has nothing to do with Customer Balances. It has to do with if what was sold was Tracked as a purchase for that customer name; or if what was Sold was inventory, which carries its own COGS with it from Inventory asset.
Let's try this again, because I provided the answer you needed. Your Source data needs to be Job Tracked = assigned that it relates to that customer, or there is no Cost associated for that Customer Name. You should be using QB Online Plus for this, by the way.
"but my client's situation is different in that each vendor/contractor/captioner submits their time and costs to the owner, who then has his staff generate an invoice for each client with any any captioner's time and billing for that client for the monthly or whatever time period."
The Purchase data needs to be Assigned. You can do that Before or After charging the customer, but it is easiest if you use the functions of this relational database by entering the Cost or Purchase event and Billable status to the customer. If you want to do it out of sequence, you manually make the charges, but you still need to Job Track the purchase for showing this direct expense is related directly to that customer. You would mark them Not Billable in this case, since you did that part manually and previously.
"And each captioner's time is coded with one of the CGS type codes that QBO provides"
You need to use at the least one Service Item. Using the Accounts manually isn't going to give you that direct Relationship. You want to see, for instance:
Graphic Artist $50 and hour for 5 hours for Smith and Sold to Smith 5 hours of Graphic Artist for $100. And now you see Income of $500 and COGS of $250 and Profit or $250. That's why you use Two Sided Services for this. You can make one and use it somewhate generically, such as Outsourced Services. Or, some clarity for you, such as Landscaping vs Structural Engineer vs Surveyor, for a Property development firm working on your ranch construction project.
"so there is no overlap e.g., while a captioner might well work on another client's project"
Yes, I would list it as follows on the Check to pay the Landscaper:
Landscaper Service item $500 Smith project, Billable (or not)
Landscaper Service item $1,000 Jones project, Billable (or not)
= $1,500 I just paid to the Landscaper Provider. And now I have Direct and Actual COGS for these two projects.
"his/her time is tracked in the invoice for the applicable client"
That's Sales. That's Revenue.
Go back to the Purchase entries and Assign them.
So what confuses me as an old database guy is why for the company's P&L report it shows the correct CGS totals, why when the P&L report is customized for a specific client it shows the correct sales but the CGS numbers are not shown -- the line for Expenses is just blank."
It has to have the cross-reference of Customer Name on it.
"Any other thoughts will be appreciated ."
It's the same answer I already gave. You can learn how to use it from the sample file, even.
I have attached an image for Law Firm retainers, which is a similar concept = Tracked the Customer Details for the split details as the Product/Service, to show I need this to be Assigned to them for reporting.
And you can then compare the P&L for one customer to the report that is Customer Income (a Net report).