{
  "question_id": "CG-MCE-092",
  "slug": "how-to-handle-unbilled-costs-and-billings-ahead-of-work-across-month-end",
  "display_title": "On a job that runs across month end, how do I handle costs I've incurred but not billed, and billings that ran ahead of the work?",
  "format": "article-v2",
  "applies_to": {
    "countries": [
      "US"
    ],
    "frameworks": [],
    "tax_year": null,
    "platforms": []
  },
  "general_concept": true,
  "summary": "At month end, for every open job whose revenue is recognized over time, compare earned to date (progress times contract price) with billed to date. Where earned is ahead, debit contract asset and credit revenue; where billing is ahead, debit revenue and credit contract liability. Reverse it the next day and re-measure at each close, contract by contract. Skip the adjustment on cash-basis books and on jobs whose revenue is recognized only when finished work passes to the customer.",
  "body": "## Why does the month look wrong when a job runs across month end?\n\nIf you post each cost to the job when it is incurred but post revenue only when you invoice, the month's revenue is whatever you happened to bill. Costs follow the work; revenue follows the billing schedule. A month of heavy work and a small invoice shows a loss, and the month a large progress bill goes out shows a windfall, even when the job is exactly on budget.\n\nFASB's revenue standard, ASC 606 (issued as Accounting Standards Update 2014-09), ties revenue to the work instead. Its core principle is that a business should recognize revenue to depict the transfer of promised goods or services to customers, and it recognizes revenue when (or as) it satisfies a performance obligation by transferring a promised good or service. So the question at each close is how much of the job you have done, not how much you have invoiced. The gap between the two is what you carry on the balance sheet.\n\n## Do your books make this adjustment at all?\n\nTwo facts decide it: the basis your books are kept on, and whether the job's revenue is recognized over time or at a point in time.\n\n| If | Then |\n|---|---|\n| Your books are on the cash basis | No adjustment is made; revenue is what you collected and cost is what you paid. |\n| Your books are on the accrual basis and the job's revenue is recognized over time | Make the adjustment below at every close. |\n| Your books are on the accrual basis and the job's revenue is recognized at a point in time | No revenue until control of the finished work passes to the customer; amounts paid or due wait as a contract liability and qualifying costs wait as an asset. |\n\nOn the cash basis, AccountingTools explains, revenues and expenses are recorded only when cash is actually received or paid, and the method ignores receivables and payables. There is nowhere to carry earned-but-unbilled work or billings ahead of work, so a cash-basis month shows neither the work done nor what you owe on money collected. You can still run the comparison below as a management report outside the ledger; whether to change basis is a separate decision.\n\nOn accrual books, ASC 606 treats a job as satisfied over time, with revenue recognized as the work progresses, if one of the following criteria is met:\n\n- The customer simultaneously receives and consumes the benefits of your work as you perform it.\n- Your work creates or enhances an asset, such as work in process, that the customer controls as the asset is created or enhanced.\n- Your work creates no asset with an alternative use to you, and you have an enforceable right to payment for performance completed to date.\n\nIf none applies, ASC 606 says the obligation is satisfied at a point in time. Anything paid, or billed and due, before then is a contract liability, because ASC 606 presents one from when a payment is made or due, whichever is earlier. The same update's cost rules (ASC 340-40) first send costs that another standard covers, such as inventory, to that standard; other fulfillment costs are carried as an asset only if all of these hold: they relate directly to the contract, they generate or enhance resources you will use to satisfy the obligation in the future, and they are expected to be recovered. Everything below applies to jobs recognized over time on accrual books.\n\n## How do you work out each job's position at the close?\n\nThis starts from cost and billing data you already keep by job; if your books do not yet capture cost by job, job costing has to be set up first. For every job open on the last day of the period, pull these figures as of that date:\n\n- **Contract price.** The signed contract amount plus changes the customer has approved, from the contract file. If the contract has amounts that can vary, such as performance bonuses or penalties, or a scope change approved but not yet priced, ASC 606 measures revenue from a transaction price that can include an estimate of those amounts. Settle the contract price with whoever prepares your statements before using it.\n- **Cost to date.** Every cost posted to the job through the period end, from the job cost report. A cost for work done this period whose bill arrives next period needs to be in this period first.\n- **Estimated total cost.** The job's expected cost at completion, updated at this close rather than copied from the bid.\n- **Billed to date.** Every invoice or progress billing issued on the job, from your billing records.\n\nPercent complete is cost to date divided by estimated total cost; earned to date is percent complete times the contract price; the position is earned to date minus billed to date. ASC 606 names costs incurred, relative to the total expected inputs, among its input methods for measuring progress, and it says not to recognize revenue on costs attributable to significant inefficiencies that were not reflected in the price, such as unexpected wasted materials or labor. Leave those out of cost to date when working out the percentage. ASC 606 also says the measure may need adjusting when a cost incurred is not proportionate to your progress; the best depiction may then be to recognize revenue only to the extent of that cost.\n\nTwo limits apply. ASC 606 recognizes revenue over time only if you can reasonably measure progress; where you cannot yet, as early in a job, but you expect to recover your costs, revenue is recognized only to the extent of the costs incurred. And for a contract on which a loss is anticipated, FASB's separate guidance for construction-type and production-type contracts, as ASU 2016-20 sets it out, requires the entire anticipated loss to be recognized as soon as it becomes evident, which is more than a percentage calculation would book.\n\nAlways use to-date totals. ASC 606 requires progress to be remeasured at the end of each reporting period, so the position is a running balance for the whole job, not this month's cost against this month's billing. A month-only calculation goes wrong in two ways. After the first-day reversal described below, it replaces the job's whole position with one month's gap: on Job A, February's own figures give a 27,500 billings-ahead position instead of 15,000, and February's revenue falls to 30,000. And whenever the estimate changes, it misses the catch-up on cost already incurred, which only a to-date calculation picks up.\n\nEach job lands in one of three places:\n\n| When the job's to-date figures show | Then |\n|---|---|\n| Earned to date above billed to date | Costs-ahead (under-billed): carry the difference as a contract asset. |\n| Billed to date above earned to date | Billings-ahead (over-billed): carry the difference as a contract liability. |\n| The two equal | No entry for this job; any balance from the last close is still released. |\n\n## Where does each position sit on the balance sheet, and what does it mean?\n\n**Costs-ahead.** ASC 606 presents a contract as a contract asset when you have performed before the customer pays or before payment is due, excluding any amount presented as a receivable. The FASB staff's educational paper on construction contractors describes a contract asset as a right to consideration for work already transferred to the customer when that right is conditioned on something other than the passage of time, such as your future performance. It is money you expect to bill, not money you can demand today.\n\nWhether that amount is a contract asset or a receivable depends on what stands between you and payment. ASC 606 says a right to consideration is unconditional if only the passage of time is required before payment is due, and that unconditional rights are presented separately as a receivable. If the contract already entitles you to payment for the work and only time stands in the way, it is a receivable. If you cannot bill until something else happens, such as reaching the next milestone, it is a contract asset; calling it a receivable overstates what you can collect now. Amounts the customer holds back from each progress bill have their own treatment, covered in the retainage question.\n\n**Billings-ahead.** ASC 606 presents a contract liability when the customer pays, or an amount is due, before you transfer the work, from when the payment is made or due, whichever is earlier. ASC 606 defines it as an obligation to transfer goods or services for which you have received consideration, or the amount is due. It is not income: it is work you still owe on money billed. Pease Bell's guide to reading a WIP schedule warns that if overbillings are propping up the bank balance, the business can hit a cash squeeze as those jobs close out, so treat a growing billings-ahead balance as cash committed to finishing work, not as profit.\n\n**Account names.** ASC 606 permits other descriptions for these items, but if you use one for a contract asset you must give readers enough information to tell receivables and contract assets apart. The FASB staff paper offers revenue in excess of billings and billings in excess of revenue as balance-sheet terms. Set up one account for each, alongside the revenue account the entry adjusts.\n\n## What is the period-end entry, and how is it released?\n\nOn accrual books, date the entry on the last day of the period, with one pair of lines per job:\n\n- For a costs-ahead job, debit the contract asset and credit contract revenue for the difference.\n- For a billings-ahead job, debit contract revenue and credit the contract liability for the difference.\n- If ASC 606's passage-of-time test in the previous section makes any part of a costs-ahead difference a receivable, debit that part to a separate unbilled receivable account instead of the contract asset, release it the same way, and keep it in its own column of the schedule so that step 4 ties the contract asset alone.\n\nIf the period has already been closed and reported, take the entry to whoever prepares your statements before posting it. If this is the first close at which you make the entry on a job that was open at earlier closes, the to-date position also brings those earlier periods' gap into this period's result; where those periods were reported, take that to the same person.\n\nThe entry is true only on its date, so reverse it on the first day of the next month. After the reversal, the next month's invoices post to revenue as usual, and the next close books a fresh entry from new to-date figures. Booking only each job's change in balance reaches the same result, but do not mix the two methods, or the prior balance is released twice. A job open across several closes gets the same cycle at every one: release the last balance, re-measure to date, book the new position.\n\n### What does one job look like across two closes?\n\nJob A has a fixed price of 100,000 and an estimated total cost of 80,000 at both closes.\n\n| | January 31 | February 28 |\n|---|---|---|\n| Cost to date | 30,000 | 64,000 |\n| Percent complete (cost to date ÷ 80,000) | 37.5% | 80% |\n| Earned to date (× 100,000) | 37,500 | 80,000 |\n| Billed to date | 25,000 | 95,000 |\n| Position | 12,500 costs-ahead | 15,000 billings-ahead |\n\n| Date | Account | Debit | Credit |\n|---|---|---|---|\n| Jan 31 | Contract asset (revenue in excess of billings) | 12,500.00 | |\n| Jan 31 | Contract revenue | | 12,500.00 |\n| Feb 1 | Contract revenue | 12,500.00 | |\n| Feb 1 | Contract asset (revenue in excess of billings) | | 12,500.00 |\n| Feb 28 | Contract revenue | 15,000.00 | |\n| Feb 28 | Contract liability (billings in excess of revenue) | | 15,000.00 |\n\n| | January | February | Both months |\n|---|---|---|---|\n| Revenue from invoices | 25,000 | 70,000 | 95,000 |\n| Reversal of the prior entry | 0 | (12,500) | (12,500) |\n| Period-end entry | 12,500 | (15,000) | (2,500) |\n| Revenue reported | 37,500 | 42,500 | 80,000 |\n| Cost | 30,000 | 34,000 | 64,000 |\n| Result | 7,500 | 8,500 | 16,000 |\n\nRevenue over the two months is 80,000, exactly what has been earned to date. The 12,500 recognized in January came back out on February 1 and reappeared inside February's invoices, so it landed once; each cost landed once, when incurred. The 15,000 billed ahead waits in the liability until the March 1 reversal, and the March 31 measurement decides how much of it March's work has earned. Without the entries, January would show a 5,000 loss and February a 36,000 profit on a job earning a steady 20% margin. Had January's entry never been reversed, the two months would report 92,500 of revenue, counting that 12,500 twice.\n\n## Why can't one job's over-billing offset another's under-billing?\n\nThe FASB staff paper says contracts are presented contract by contract as either a contract asset or a contract liability, so a balance sheet may show both, from different contracts, but never both for the same contract. PwC's financial statement presentation guide says contracts combined and accounted for as a single contract under the revenue standard should be presented net as one contract asset or liability, and that whether different contracts that are not combined may be netted is settled under other presentation standards. The unit is the contract: where each job is its own contract, as in these examples, carry each job's position on its own side.\n\nOn January 31, Job B has a contract price of 70,000, an estimated total cost of 56,000 and cost to date of 39,200, so it is 70% complete:\n\n| Job | Earned to date | Billed to date | Contract asset | Contract liability |\n|---|---|---|---|---|\n| A | 37,500 | 25,000 | 12,500 | 0 |\n| B | 49,000 | 60,000 | 0 | 11,000 |\n| Balance sheet | | | 12,500 | 11,000 |\n\n| Account | Debit | Credit |\n|---|---|---|\n| Contract asset (Job A) | 12,500.00 | |\n| Contract revenue (Job A) | | 12,500.00 |\n| Contract revenue (Job B) | 11,000.00 | |\n| Contract liability (Job B) | | 11,000.00 |\n\nNetted, the two jobs would show a single 1,500 asset. That figure hides 12,500 of work you cannot bill yet and 11,000 of work you still owe on money already billed, the two facts the adjustment exists to show.\n\n## What changes when billing follows a contract schedule?\n\nOn a progress or milestone schedule, the contract fixes the billing dates, so billing can run ahead of or behind the work by design; the gap is expected, and a scheduled bill is not evidence that the work was done. ASC 606 lists milestones reached among output methods for measuring progress but says to consider whether the output selected would faithfully depict your performance. Its shortcut of recognizing revenue at the amount you have a right to invoice applies only where that amount corresponds directly with the value to the customer of your performance completed to date, such as a fixed rate for each hour of service. Measure the work first, from cost or another measure that depicts it, then compare the schedule with it.\n\n## How do you prove both balances at each close?\n\nPease Bell's guide says contractors typically update the WIP schedule monthly so its numbers can be cross-checked against the general ledger. Run these checks before the period is closed:\n\n1. Agree the period's cost on the job cost reports to the period's job costs in the ledger, and trace any difference to costs posted without a job.\n2. Agree the period's billings in your billing records to the period's invoiced contract revenue in the ledger, and trace any difference to invoices posted without a job.\n3. Confirm each estimated total cost against the current estimate and keep that dated estimate with the schedule. ASC 606 says progress cannot be reasonably measured without the reliable information an appropriate method requires.\n4. Total the schedule's asset and liability columns separately and agree each total to its ledger balance after posting. Pease Bell's guide says the totals of overbillings and underbillings should match the contract liability and contract asset balances.\n5. File the schedule, the cost and billing reports and the estimates with the entry.\n\nA ledger balance that differs from the schedule total points first to a prior entry that was not released, or to a position worked out from the month's activity alone. The rest of the balance sheet is reconciled as part of the wider month-end close.",
  "sources": [
    {
      "id": "REF::1",
      "url": "https://storage.fasb.org/ASU%202014-09_Section%20A.pdf",
      "title": "Accounting Standards Update No. 2014-09, Revenue from Contracts with Customers (Topic 606), Section A",
      "publisher": "Financial Accounting Standards Board",
      "published": "No. 2014-09, May 2014",
      "retrieved_at": "2026-09-30T07:19:32+00:00",
      "sha256": "0fa5f4241d383af7a7ea1ab24b742797c598c7967b133e21e09d9c3d92166848",
      "supports": [
        "C1",
        "C2",
        "C5",
        "C6",
        "C7",
        "C8",
        "C9",
        "C10",
        "C11",
        "C12",
        "C13",
        "C14",
        "C15",
        "C44",
        "C45",
        "C46",
        "C47",
        "C16",
        "C17",
        "C48",
        "C49",
        "C18",
        "C19",
        "C21",
        "C22",
        "C24",
        "C25",
        "C26",
        "C27",
        "C29",
        "C30",
        "C52",
        "C39",
        "C40",
        "C41",
        "C42"
      ]
    },
    {
      "id": "REF::2",
      "url": "https://storage.fasb.org/FASB%20Staff%20Educational%20Paper%E2%80%94Topic%20606%E2%80%94Presentation%20and%20Disclosure%20of%20Retainage%20for%20Construction%20Contractors.pdf",
      "title": "FASB Staff Educational Paper: Topic 606: Presentation and Disclosure of Retainage for Construction Contractors",
      "publisher": "Financial Accounting Standards Board",
      "published": "copyright 2025",
      "retrieved_at": "2026-09-30T07:19:33+00:00",
      "sha256": "d903e8871500e5393dca7c37ccb8e0ad8d746e559b5fbc144c1b6c77a6a5a29a",
      "supports": [
        "C23",
        "C31",
        "C36",
        "C37"
      ]
    },
    {
      "id": "REF::3",
      "url": "https://storage.fasb.org/ASU%202016-20.pdf",
      "title": "Accounting Standards Update No. 2016-20, Technical Corrections and Improvements to Topic 606, Revenue from Contracts with Customers",
      "publisher": "Financial Accounting Standards Board",
      "published": "No. 2016-20, December 2016",
      "retrieved_at": "2026-09-30T07:19:34+00:00",
      "sha256": "8ba24101ef3893df5f61d938dd3aeeb5273cb5e425596a246d8544051b36e65a",
      "supports": [
        "C20"
      ]
    },
    {
      "id": "REF::4",
      "url": "https://viewpoint.pwc.com/dt/us/en/pwc/accounting_guides/financial_statement_/financial_statement___18_US/Chapter-33--Revenue-and-contract-costs/33-3-Presenting-contract-related-assets-and-liabilities-ASC-606.html",
      "title": "Financial statement presentation guide, 33.3 Presenting contract-related assets and liabilities",
      "publisher": "PwC",
      "published": "15 May 2025",
      "retrieved_at": "2026-09-30T07:19:32+00:00",
      "sha256": "893ec01bf3e54631fcc1c4a4143f63f18c94e0a72f89b4eaf43c2036d10660d7",
      "supports": [
        "C50",
        "C51",
        "C38"
      ]
    },
    {
      "id": "REF::5",
      "url": "https://www.accountingtools.com/articles/cash-basis-vs-accrual-basis-accounting.html",
      "title": "Cash basis vs. accrual basis",
      "publisher": "AccountingTools (Steven Bragg)",
      "published": "last updated January 14, 2026",
      "retrieved_at": "2026-09-30T07:19:32+00:00",
      "sha256": "bf1cb2c14457c3dd0fef6200357f2b3120bebc89686d1cafbf02919755ecade2",
      "supports": [
        "C3",
        "C4"
      ]
    },
    {
      "id": "REF::6",
      "url": "https://www.peasebell.com/insights/construction-wip-schedule/",
      "title": "Reading a WIP Schedule: Over and Under Billings Explained",
      "publisher": "Pease Bell",
      "published": "September 5, 2026",
      "retrieved_at": "2026-09-30T07:19:32+00:00",
      "sha256": "83d83ced55e881066241e74745b7cdceae1df1c031c5e864a2e9e530b1eaade0",
      "supports": [
        "C28",
        "C53",
        "C43"
      ]
    }
  ],
  "related": [
    {
      "question_id": "CG-MCE-091",
      "slug": "how-to-set-up-job-costing-to-see-what-each-job-cost-and-made",
      "display_title": "How do I set up job costing so I can see what each job actually cost and what it made?"
    },
    {
      "question_id": "CG-MCE-046",
      "slug": "my-customer-holds-back-a-percentage-of-every-progress-billing-until-the-job-is",
      "display_title": "My customer holds back a percentage of every progress billing until the job is finished — how do I bill and track that retainage?"
    },
    {
      "question_id": "CG-MCE-096",
      "slug": "how-to-record-a-cost-in-the-month-the-work-was-done-when-the-bill-comes-later",
      "display_title": "The work was done in last month but the bill came this month — how do I get the cost into the right period?"
    },
    {
      "question_id": "CG-MCE-005",
      "slug": "should-my-business-keep-its-books-on-the-cash-basis-or-the-accrual-basis-and-why",
      "display_title": "Should my business keep its books on the cash basis or the accrual basis, and why does the same period's profit change when a report switches between them?"
    },
    {
      "question_id": "CG-P1B-011",
      "slug": "what-a-month-end-close-checklist-should-include",
      "display_title": "What should a small business's month-end close checklist include, and is there a template to run it?"
    }
  ],
  "review_class": "consequential",
  "review_class_trigger": "claim_level_review_required",
  "provenance": {
    "author_model": "claude-opus-5-5",
    "reviewer_model": "claude-opus-5-5",
    "review_verdict": "ACCEPT",
    "review_source": "closure",
    "review_verdict_on_sha256": "4a6b5ceb13b0461e10d6f3161cde4ea179c0c1b2571fe71a6a0fc4a00f3a8aaf",
    "editorial_disposition": "ACCEPT",
    "corrections": 1,
    "approved_by": null,
    "approved_at": null,
    "article_sha256": "4a6b5ceb13b0461e10d6f3161cde4ea179c0c1b2571fe71a6a0fc4a00f3a8aaf",
    "source_map_sha256": "31926c451bbcb07c1825cc59091b5d3262c8c8382ff4f1090e0ae6ab602c54f1",
    "transform_sha256": "90c651e3c6c757a51cbce468bfa3786bfdb3c98e47ac2c81905b453167a7424b"
  },
  "offer": "ask",
  "offer_id": null,
  "sample_target_id": null,
  "datePublished": "2026-09-30T21:19:08Z",
  "reviewed_at": "2026-09-30T21:19:08Z",
  "content_sha": "19640f8cbaee22084462de4305e711f5f8b33cafc0e5ed7937719b453177b668",
  "release": "2.13.0",
  "slug_provenance": "minted at first publication",
  "question_text": "On a job that runs across month end, how do I handle costs I've incurred but not billed, and billings that ran ahead of the work?",
  "jsonld_types": [
    "Article"
  ],
  "related_question_ids": [
    "CG-MCE-091",
    "CG-MCE-046",
    "CG-MCE-096",
    "CG-MCE-005",
    "CG-P1B-011"
  ],
  "aliases": [],
  "alias_provenance": []
}
