
The Acceptance Certificate Decides the Period
Delivery says it finished in June. The customer signed in July. The invoice went out in August. Only one of those dates determines the period, and it is usually not the one in the project plan.
Where a contract makes revenue contingent on customer acceptance of a milestone, the recognition date depends on when the performance obligation was satisfied, which acceptance evidences. Cutoff errors arise because three different dates exist for every milestone: when delivery considered it complete, when the customer formally accepted, and when it was invoiced. Project systems typically record the first, finance sees the third, and the second is the one that matters.
- Three dates exist per milestone and they routinely fall in different periods. Only one determines recognition.
- Acceptance may be explicit, deemed after a period without objection, or evidenced by customer use, and the contract decides which.
- The evidence is usually an email or a signed document held by the project manager, outside every finance system.
- Deemed acceptance clauses are the most commonly missed, because nothing happens on the date they take effect.
- ChatFin extracts the acceptance mechanics from the contract, locates the evidence, and builds the cutoff schedule by milestone.
Project revenue cutoff produces more period end argument than almost any other area, and the argument is usually about which date to believe rather than about the accounting.
The project system records a completion date entered by a delivery manager, reflecting when the work was finished from their perspective. The customer's acceptance, where the contract requires it, happens separately and may take days or weeks, or may occur automatically after a period without objection. The invoice is raised on a billing schedule that may bear no relation to either. At period end, finance has the third date, delivery asserts the first, and the second exists in an email nobody has looked for.
This page covers the acceptance forms contracts use, where the evidence actually lives, why deemed acceptance is the most commonly missed mechanism, and how to build a cutoff schedule that survives review.

The three dates and who holds them
Every milestone in a contract with acceptance terms generates three dates, held by three different functions in three different systems, and reconciling them is the whole exercise.
| Delivery completion | When the project team considered the work done, recorded in the project system by a delivery manager |
| Customer acceptance | When the customer accepted, explicitly or by the mechanism the contract specifies, evidenced outside every system |
| Invoice date | When billing raised the invoice, driven by a billing schedule that may not track either of the above |
| Which one governs | Acceptance, where the contract makes it a condition, since that is what evidences satisfaction of the obligation |
| Where they diverge | Most often at period boundaries, which is precisely when it matters |
The practical consequence is that neither the project system nor the billing system holds the date finance needs, which explains why cutoff for these contracts is assembled manually every period and why it is inconsistent.
The forms acceptance takes
Contracts specify acceptance in several ways and the evidence required differs sharply between them.
Explicit sign off
A signed certificate or written confirmation. The clearest evidence and the easiest to file, provided somebody files it.
Deemed acceptance
Acceptance occurs automatically after a defined period unless the customer objects. Nothing happens on the date, which is why it is missed.
Acceptance by use
The customer putting the deliverable into productive use constitutes acceptance. Evidence is behavioural and needs to be captured deliberately.
Milestone payment as acceptance
Payment of the milestone invoice treated as acceptance, which is convenient and less common than teams assume.
Form two is the largest source of understated revenue at period end. A deliverable submitted forty days before period end under a thirty day deemed acceptance clause has been accepted, with no document generated and nobody having done anything.

Where the evidence lives
Acceptance evidence is real, it exists, and it is almost never in a finance system. Knowing where to look is most of the problem.
The fourth item is worth designing for specifically. For deemed acceptance the critical evidence is the date of submission and the absence of objection, so a record of what was submitted when is more important than any acceptance document, because none will exist.
Where the project systems stop
Professional services and project platforms handle the delivery side well. Certinia, Kantata and Deltek manage milestones, completion status, project billing and revenue schedules, and revenue platforms such as Zuora RevPro handle recognition once the trigger is determined.
The trigger itself is the gap. A project system records completion status set by a delivery manager, and that status means the work is done rather than that the customer accepted. Where the contract makes acceptance a condition, the system field and the accounting trigger are different things, and nothing reconciles them.
Reading the contract for the acceptance mechanism and locating the evidence in documents is exactly what pre built finance AI agents do, alongside the close work in AI financial close software.

Building a cutoff schedule that survives review
The deliverable at period end is a schedule that a reviewer can follow from milestone to conclusion without asking anyone anything.
List milestones with all three dates
Delivery completion, acceptance, invoice. Showing all three makes the divergence visible rather than hidden.
State the acceptance mechanism per milestone
From the contract, since it differs by contract and sometimes by milestone within a contract.
Attach the evidence reference
The email, certificate, portal record or submission date, referenced rather than described.
Identify the deemed acceptance population
Milestones submitted before period end where the deemed period has elapsed. This population produces no documents and must be derived.
Conclude and cross check to billing
The recognition conclusion per milestone, reconciled to what was billed, so unbilled and deferred positions are explained.
Step four is the one that requires deliberate effort every period. It cannot be found by looking for documents because there are none, so it has to be calculated from submission dates and contract terms.
How ChatFin builds the acceptance position
ChatFin reads the contract and extracts the acceptance mechanism per milestone, including deemed acceptance periods and any conditions attached, which is information that sits in narrative clauses rather than in any structured field.
The document processing agent then locates the acceptance evidence across email, project files and portal exports and links it to the milestone. For the deemed acceptance population the autonomous reconciliation agent calculates which milestones have been accepted by elapsed time from the submission records, and reconciles the resulting recognition position to billing so unbilled and deferred balances are explained rather than derived.
| Contract intelligence | Extracts the acceptance mechanism and deemed period per milestone from the agreement |
| Document processing | Locates acceptance evidence across email, project files and portal records |
| Reconciliation agent | Calculates the deemed acceptance population and reconciles recognition to billing |
| Data query agent | Answers questions such as which milestones were submitted more than thirty days before period end |
| Governed write back | Prepares the revenue, unbilled and deferred entries with the schedule attached, for approval |
The recognition conclusion remains with your revenue team. ChatFin assembles the dates, the mechanism and the evidence into a schedule so that conclusion is made against a documented position rather than against a delivery manager's recollection.

Fixing cutoff before the next period end
Three changes made during the period remove most of the period end argument.
Record submission dates systematically
The date a deliverable was submitted to the customer, captured in the project system. This single field enables the deemed acceptance calculation.
Extract acceptance terms into the milestone record
So the mechanism is visible to whoever assesses cutoff, rather than requiring the contract to be reread each time.
Route acceptance evidence to a known location
A shared location rather than a project manager mailbox. Retrieval at period end is where the time goes.
Report the three dates together monthly
Not only at period end. Divergence visible during the period is a delivery conversation rather than a cutoff dispute.
The first change is the highest return and the smallest ask, because it makes the invisible population calculable and requires one field rather than a process redesign.
A deliverable submitted forty days before period end under a thirty day deemed acceptance clause was accepted. Nobody did anything, and no document exists.
ChatFin
Frequently Asked Questions
Which date determines revenue recognition on an accepted milestone?
The date the performance obligation was satisfied, which where the contract makes customer acceptance a condition is evidenced by acceptance rather than by delivery completion or invoicing. Three dates exist for most milestones: when delivery considered the work finished, when the customer accepted, and when billing raised the invoice. They routinely fall in different periods, most often at period boundaries.
What is deemed acceptance?
It is a contractual mechanism under which acceptance occurs automatically after a defined period unless the customer raises an objection. It is the most commonly missed acceptance form because nothing happens on the date it takes effect and no document is generated. The population has to be calculated from submission dates and the contractual period rather than found by looking for evidence.
Where is acceptance evidence usually held?
Outside every finance system. Explicit acceptance is most often in a project manager's email, sometimes in a signed certificate filed with project documentation, and for large customers frequently in their own portal requiring retrieval. For deemed acceptance the critical evidence is the submission record that started the clock, and for acceptance by use it is usage or access logs that need to be identified as evidence in advance.
Can ChatFin determine milestone acceptance from contracts?
ChatFin extracts the acceptance mechanism and any deemed acceptance period per milestone from the contract, locates acceptance evidence across email, project files and portal records, and calculates which milestones have been accepted by elapsed time from submission records. It reconciles the resulting position to billing so unbilled and deferred balances are explained, with the recognition conclusion remaining with your revenue team.
This article is general information for finance and accounting teams. It is not accounting, tax or legal advice. Confirm the treatment of your own facts with your auditors and advisers.
See ChatFin build the milestone acceptance schedule.
ChatFin extracts the acceptance mechanism per milestone from the contract, locates the evidence across email and project records, and calculates the deemed acceptance population.
The recognition position is reconciled to billing and every entry is prepared with the schedule attached, for a person to approve.
Book a DemoBring a set of contracts and milestone records.
ChatFin will extract the acceptance mechanics, locate the evidence, and produce the cutoff schedule with the deemed acceptance population calculated.