A measure that could not record early

The mutual action plan agreed with a customer now records what was promised and what actually happened. The third piece, how far each step slipped, turned out to be unable to hold a negative number, so a step finished ahead of its date and a step finished exactly on it would have stored the same […]

In this series · Part 25 of 25

1Dynamics 365 CRM: API integration + change-control repo2Dynamics 365 CRM: Last Contact Engagement tracking on Accounts3Turning a sales-intelligence export into a clean CRM data model4Dynamics 365 CRM: contacts inherit their company’s website, and emails timestamp by send time5Your SEO health now lives as a dashboard inside the CRM6Contact form duplicate detection now reads the request, not just the address7Marketing list members now show engagement and account fit8Campaign responses now create leads behind a confirmation step9Three CRM automations passed their tests without running the code that had just changed10A signature defect that three mailboxes agreed was not there11A read-only CRM endpoint for scoring outside the desktop12Why a corrected email signature kept sending the old one13Choosing what runs the AI layer in the CRM sales process14Asking whether a partner is involved, instead of inferring it15An email step in the sales process can now be excused, not only sent16The rehearsal that guards every process change had been failing silently17A one to one email from a lead left the engagement record blank18Two local dependencies, and only one was obvious19Filing a generated document to the record automatically20One meeting that served two process steps, recorded as two21A setting that stored correctly, read back correctly, and was never in force22Generating a product catalogue from one canonical file23Three date fields that existed on every row, and had never once been written24Unused, unreferenced, and still not safe to delete25A measure that could not record early

On this page

Free Revenue Lifecycle Assessment

Connect with Marissa Wright to receive a free Revenue Lifecycle Assessment Report on your own business.

Book a consult →

The mutual action plan agreed with a customer now records what was promised and what actually happened. The third piece, how far each step slipped, turned out to be unable to hold a negative number, so a step finished ahead of its date and a step finished exactly on it would have stored the same value.

  • This plan is the only place in the sales model that records actions the customer owns rather than ours, so slippage split by side answers which side a deal stalls on. That is the reason for building it, and it depends on the sign. A step delivered early is evidence about how a customer works, and clamping it to zero throws that evidence away at the moment of writing.
  • The column was defined with a minimum of zero. Nothing had ever written to it, so nothing had ever failed, and no report had ever looked wrong. A field that nothing writes to cannot fail, which means its defects are only ever found by reading its definition rather than its data. This one surfaced because a ruling forced the question of whether it could go negative, not because anything went looking.
  • Storing the sign is reversible and flooring it is not. Any view can show lateness alone whenever that is what is wanted, but a value clamped on the way in is gone for good. The floor was lifted and then proven by writing a negative to a real row and reading it back, rather than by trusting the change to have applied.
  • Setting the formula that fills the column was accepted, reported success, and silently thrown away, while every other setting sent in the same request applied correctly. What that leaves behind has the right type, the right range and the right label, and computes nothing. Reading the definition back is no help, because a correct looking definition is exactly what each failed attempt produced. The only check that works is planting rows with known answers and reading the numbers out.