BuildSigned
Contract-On-Trigger™

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.

End to end

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.

01Phase
02Field evidence
03Approval
04Payment request
05Bank verification
06Invoice born paid
07Next phase
Seven ways a phase opens

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.
Three engines, on purpose

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.