How to assign credit card expenses to jobs in QuickBooks Online?
By the Truceipts team · Last updated
Open Bank transactions, pick the credit card, and on each charge choose the job in the Customer/Project field before you post it. QuickBooks Online only reports profit per job when that tag is on the charge, not when you later pay the card.
This is the click path for a 5-to-15 tech shop on Jobber, Housecall Pro, or Workiz: the settings, the mixed-receipt split, what never to tag, and why the feed still leaves jobs empty.
What has to be on before a swipe can hit a job
The bank feed knows the vendor and the amount. It does not know the job. You have to give it a job to pick, and a column to pick it in.
| Setting | Where | What it does |
|---|---|---|
| Credit Card account | Chart of accounts | The liability. Not a bank account. |
| Connected feed | All apps, Accounting, Bank transactions | Posted charges only. Pending authorizations do not download. |
| Track expenses and items by customer | Account and settings, Expenses | Shows the Customer/Project column. |
| Projects | Account and settings, Advanced | One project per job. Intuit’s Projects help (updated 2026-10-06) puts this on Plus, Advanced, and Intuit Enterprise Suite. |
Turn on Organize all job-related activity in one place, then create a project named for the job address or ticket. Sub-customers work too. Classes on Plus (up to 40, combined with locations) are for a trade or a crew, not individual jobs.
You do not need Make expenses and items billable to job-cost. That switch puts a cost on the customer’s invoice. Enter billable expenses (updated 2026-08-04) is a Plus and Advanced reimbursement tool. Leave Billable off on flat-rate tickets.
If the Jobber, Housecall Pro, or Workiz sync dumped every invoice onto one customer, there is nothing real to tag against. See Is QuickBooks job costing worth it for a small contractor? for when the tagging holds.
Tag a charge from the card feed
Do this on the card, not on the checking account that later pays the statement.
- Go to All apps, then Accounting, then Bank transactions.
- Select the credit card. Open the Pending tab.
- Open a posted charge. Confirm the payee and the category (materials, not Uncategorized Expense).
- In Customer/Project, pick the job. Payee is who you paid. Customer/Project is where the parts went.
- Select Post.
Intuit’s categorize help (updated 2026-08-24) is that path. If the row says Match, change it to Categorize unless you already entered the expense by hand.
Habits that make the pick possible: one card per tech (“Luis’s card, 2pm Wednesday” narrows a Lowe’s swipe to one or two jobs), the job address in the supply-house PO field, and the receipt snapped into the FSM job the same day. Intuit’s subaccount help (updated 2026-08-28) lets you put each tech’s card under a parent. Connect the parent or the subaccounts, not both.
Split one swipe across two jobs
A tech who grabs parts for Elm Street and Oak Avenue on the same Home Depot ticket posts one amount. Until you split it, both jobs are wrong.
- On the Pending tab, open the charge. If the action is Match, switch it to Categorize.
- Select Split.
- Add a line per job. Category, amount, and Customer/Project on each line. The Difference must be $0.
- Select Split and add.
Intuit staff on QuickBooks Community (May 2025) put the project under the Customer column on that split screen. Some shops only see Class there. If Customer/Project is missing on Split, post the charge, open the expense, and add the job on each line. Keep the total the same or you will break the reconciliation. A return credit gets the same job as the original swipe, as a credit card credit, not as income.
Tag charges you already posted
You posted last week’s feed to Materials and never picked a job. The money is in the books. The project P&L is still empty.
Intuit’s add-to-project help (updated 2026-08-03) is the same field after the fact. Open Expenses, find the charge, pick the project in Customer/Project on each line, and save. Do not use a journal entry. A journal entry in QuickBooks Online has no Customer/Project column, so the cost never lands on the job. If you enter a charge the feed missed from Add to project, match it to the downloaded row so you do not double-post.
What never gets a job tag
| Transaction | What it is | Job tag? |
|---|---|---|
| Home Depot or supply-house swipe | The purchase | Yes, on the charge |
| Mixed receipt | One swipe, two jobs | Yes, split by line |
| Statement payment from checking | Paying the card down | No. Use Pay down credit card (updated 2026-08-05) or match it as a Credit Card Payment |
| Annual fee or interest | Cost of the card | No. That is overhead |
| Personal charge on the shop card | Owner draw or due-from-owner | No. Not a job cost |
| Fuel, truck parts, shop tools | Overhead, unless a rental tied to one ticket | Almost never |
The payment is the mistake shops make most. The expense was recorded when you bought the parts. Paying Visa is a transfer. Code that payment to Materials and you double-count every swipe.
Why the feed still leaves jobs empty
QuickBooks wins the report. The project overview is a real P&L when income and costs share the tag. The feed does not fill the tag for you.
A five-truck week is card swipes at Home Depot and the supply house, a Ferguson PDF with a blank PO, a return with no ticket number, and a helper paid on Venmo. Each one needs someone who knows which job it belongs to. That knowledge lives in the field. The tagging happens in the office.
Bank rules do not close that gap. Intuit’s bank-rules help (updated 2026-08-05) can fill payee, category, customer, and project, and can auto-post. A rule is right for a monthly dumpster on one remodel. It is wrong for Home Depot. Leave auto-add off on supply-house cards.
The FSM does not close it either. Housecall Pro’s job costing does not push card swipes into QuickBooks. Jobber’s profit bar lives in Jobber. Truck-stock parts never even hit the card. How to track material costs per job for an electrical contractor covers that hole. Shops that try to keep the tag on every expense lose the habit the first busy week. The click path works. The week does not.
Four ways shops actually keep the tags current
1. Run the feed as designed
Stay on Plus. Projects on. Customer/Project on every charge the same week. Split mixed receipts before you reconcile. Right answer when the owner still sees every receipt. It breaks the first week nobody tags. Switching the FSM to ServiceTitan for built-in costing is a different decision.
2. Make the receipt name the job
One card per tech, job address on every supply-house PO, receipt snapped into the FSM job the same day. The office is matching, not reconstructing Friday from memory. It still fails when two jobs share one ticket and nobody splits it.
3. Hire a job-costing VA
Job posts for the role ask someone to assign 5 to 10 transactions a day to the right job by property address. Offshore listings for that work commonly run about $800 to $1,100 a month. A person can split a receipt and chase a credit with no PO. You still train them on your jobs and check their work.
4. Use software that tags from the FSM and the bank feed
A newer set of tools leaves the FSM and QuickBooks in place and matches card swipes, supply-house bills, timecards, and sub invoices to a job using tech, time, address, and supplier. Anything they cannot place goes to a short exception list. We make Truceipts, which does this, so weigh that suggestion accordingly. Ask whether a tool only adds tags, whether changes can be undone, and whether it shows why it matched each cost.
How to tell this week
You know the tagging is working when last week’s closed jobs show card swipes on the project overview, mixed receipts are split, the statement payment has no job tag, and you can open that overview on Monday without a spreadsheet rebuild. If the overview shows revenue and almost no cost, the feature is on and the swipes were never tagged.
Pull last week’s ten closed jobs from the FSM. Lay each one next to the card charges in QuickBooks and the receipts in the techs’ phones. Start with those three files. They already exist.
Frequently asked questions
Do I need to mark a credit card charge billable to job-cost it?
No. Billable puts the cost on the customer's next invoice. Profit by job only needs Customer/Project filled in on the charge. Intuit's billable-expense help, updated 2026-08-04, is a Plus and Advanced reimbursement tool. On flat-rate work, leave Billable off so you do not invoice parts already in the price.
Why is the Customer/Project column missing on my credit card feed?
Turn on Track expenses and items by customer under Settings, Account and settings, Expenses, Bills and expenses. You also need a customer, sub-customer, or project to pick. Projects are on Plus, Advanced, and Intuit Enterprise Suite after you turn on Organize all job-related activity in one place.
Should I assign the monthly credit card payment to a job?
No. The payment is a transfer from checking to the card, not a new expense. Intuit's pay-down help, updated 2026-08-05, uses Pay down credit card or a Credit Card Payment match in the bank feed. Tagging the payment dumps the whole statement onto one job and double-counts every swipe you already posted.
Can a bank rule send every Home Depot swipe to the right job?
A rule can fill payee, category, and even a customer or project, per Intuit's bank-rules help updated 2026-08-05. That helps when one vendor always belongs to one job. A Home Depot swipe changes jobs every day, so a rule that auto-posts those charges will guess wrong. Leave auto-add off on supply-house cards.