Construction bookkeeping guide

Keep credit-card payments from duplicating construction job costs

Reconcile the company card payment to its liability while preserving the individual job purchases, receipts and approvals underneath it.

A contractor may see the same cash outflow in three places: individual company-card purchases, a credit-card statement and the checking-account payment. If the payment is coded as another job expense, the books can duplicate costs that were already recorded from the card charges.

Use a three-layer control. Preserve each purchase at the job or overhead level, reconcile those purchases to the card statement, then match the checking payment to the card liability under the company’s approved accounting workflow.

Separate the three layers

The records answer different questions:

  1. Purchase layer: What was bought, from which vendor, for which job or overhead purpose?
  2. Card layer: Which purchases, credits, fees and payments make up the card statement balance?
  3. Cash layer: When did the checking account fund the credit-card payment?

The checking payment is not a second purchase merely because it is another bank transaction. The responsible accountant defines the card and liability setup. The bookkeeper preserves the evidence and matches each layer without inventing job detail.

Keep job evidence on the individual purchase

For each charge, retain:

  • Cardholder and last four digits.
  • Transaction and posting dates.
  • Vendor, amount and receipt.
  • Job ID and approved cost code, or a defined overhead label.
  • Approver and approval date.
  • Credit or return reference when applicable.

Procore’s Direct Costs documentation describes tracking non-contract project costs that affect the budget. The contractor’s own system and accounting policy determine which card purchases enter that workflow. Do not assume every card charge is a direct job cost.

The construction vendor coding guide helps preserve recurring job and vendor instructions. A charge with missing job evidence should remain a visible exception until the responsible person answers it.

Reconcile one statement before recording the payment

Build a statement bridge:

Component Control question
Beginning balance Does it agree with the prior reconciled statement?
Purchases Are all statement charges represented once?
Credits and returns Are they linked to the original purchase or job?
Fees and interest Are source and approval retained?
Payments Do they match actual cash transfers?
Ending balance Does the control agree with the card statement?

Do not force the ending balance to agree by coding the checking payment to a job expense. First locate the card-side payment record and confirm the same amount and account.

Worked example: a $14,600 card payment

Illustrative example. A construction company has this monthly card activity:

Activity Amount Job or account evidence
Lumber and fasteners $8,400 Job J-204; supported receipts
Equipment rental $3,200 Job J-219; approved rental invoice
Office software $1,100 Approved overhead
Fuel charges $1,350 $1,050 assigned to jobs; $300 awaiting vehicle log
Supplier credit ($450) Linked to returned J-204 materials
Net new card activity $13,600 Purchase layer
Prior statement balance $1,000 Reconciled opening amount
Statement balance paid $14,600 Card layer and cash payment

The $14,600 checking payment settles the $1,000 prior balance plus $13,600 of net new card activity. It does not add $14,600 of new job cost. The job and overhead detail remains on the underlying purchases.

The $300 fuel exception also should not be guessed into a job to finish the reconciliation. The card statement can reconcile while the job assignment stays open and visible.

Match before categorizing

Intuit explains that matching a downloaded bank transaction links it to an existing record, while categorizing creates a new record. The exact interface and available fields depend on the QuickBooks product and setup.

When the checking-account payment downloads:

  1. Search for the existing card payment or transfer record.
  2. Confirm amount, date, card account and actual payment.
  3. Match under the approved workflow if it is the same event.
  4. Investigate any difference before creating another record.

Intuit’s categorization guidance also describes splitting transactions when one purchase needs multiple tracking categories. Split only from supported detail; do not use an arbitrary allocation to clear an exception.

Review the control by owner

Give each unresolved item one owner:

  • Cardholder supplies the receipt or business purpose.
  • Project manager confirms job and cost code.
  • Authorized manager approves the charge.
  • Bookkeeper records or matches the supported event.
  • Accountant decides uncertain accounting treatment.

Use the missing receipt handoff to route absent support. Use the weekly project-manager packet to collect job references before statement close.

A dedicated construction bookkeeper can maintain the purchase-to-statement-to-cash bridge every month. The result is a reconciled card account, preserved job detail and a payment that appears once.

Sources and further reading

Source links provide background. The workflow and illustrative examples above are original educational material.

Our resource guides are prepared with AI assistance. Worked examples are illustrative unless explicitly identified otherwise. This guide does not interpret tax law, payroll law, or state trust-account requirements. Read our editorial standards.

More time for the work you build.

Start with the bookkeeping that’s taking time away from your jobs. We’ll help define a practical next step.

Book a call
DaxTally

Discovery call

Put your bookkeeping on the agenda.

Choose a time to discuss your jobs, office workload and the bookkeeping support you need.

45 minutes · Video call

  • Your active jobs and office workload
  • Job records, monthly books and cleanup
  • The scope and next steps

No documents needed to get started.

Appointments use our shared Daxable calendar. Your inquiry is for DaxTally.

Loading available times…

Having trouble? Open the calendar in a new tab ↗