The phase exists when its trigger fires
A phase is not a row somebody marks as done. It is a state that opens when a specific condition is met, and the engine that decides when does not write a single line of money. That separation is what lets the invoice be born paid without anyone trusting a checkbox.
Nobody types the percentage
Across the competitors we reviewed, the percentage complete that gets billed is typed in by a person; everything downstream is what's automated. Here the evidence closes the phase, the close issues the request, and what the bank confirms unlocks the next one.
One signal won't open a phase that's waiting on another
- Scheduled dateThe job calendar enables it.
- Previous phase paidThe bank confirmed, not the promise to pay.
- Evidence approvedA named human signed off on what was documented.
- Inspection visitThe inspector closed the field record.
- Material deliveryReceipt confirmed against the order.
- Owner signatureChange order or scope approval.
- Manual openWith actor, reason and timestamp.
The one that decides when cannot issue a document
They talk to each other by event, never by direct call. It is the reason the phrase the invoice is born paid is a mechanism and not a slogan: the engine that opens a phase has no way to emit money, not even by mistake, and the one that issues the document cannot decide on its own that the money arrived.
CoT decides when
Contract-On-Trigger™ owns the phase state machine. It opens, it closes, it blocks. It never writes an amount.
IoP decides what the document says
Invoice-On-Payment™ issues against a payment the bank already confirmed, so the invoice is not a claim, it is a receipt. The same engine sends the payment request when a phase closes, and the reminders that follow it.
Match-On-Bank™ decides if the money arrived
It reads the transaction on your bank account and matches it against the request that is open. Marked as paid is not paid: until the bank confirms the money landed, the next phase stays shut, and a promise to pay does not move the state machine.
Nobody types the percentage
The amount comes from the contract line and the jurisdiction rule, not from a field somebody fills in at month end.