Introductory pricing is a standard tool in property services. A first-term rate wins the agreement, a standard rate applies afterwards, and the contract says so in a sentence everyone reads once and then files.

The sentence is the problem. It describes a change that will happen a year later, on a specific date, to a specific set of line items, and it relies entirely on a human noticing.

What actually happens

Nobody notices. The anniversary passes, the next invoice goes out at the old rate, and the discount quietly becomes permanent. Nothing alerts, because nothing is wrong from the software's point of view. It charged the rate it was given.

The alternative failure is worse. Someone does remember, six weeks late, and now there is a conversation about back-charging a client for a rate increase they were not reminded about. That conversation costs more than the money.

There is also a subtler version that shows up on multi-year agreements: work performed before the anniversary but invoiced after it. Which rate applies? The contract almost always means the rate in effect when the work was done, and a system that prices at invoice time gets it wrong.

Storing both rates

The fix is to stop treating the renewal rate as a future edit and start treating it as present data.

Each line on a MapleConcierge service agreement carries two figures: the rate for the current term and the rate on renewal. Both are recorded when the agreement is set up, straight from the signed schedule. The agreement itself carries an anniversary date.

Selecting a rate is then a function of the service date. Work performed before the anniversary prices at the first-term rate. Work performed on or after it prices at the renewal rate. Nobody edits anything on the day, and the boundary is a date comparison rather than a memory.

Why it must key on service date

This is the detail that makes it correct rather than merely convenient.

The rate is chosen by when the work happened, not when the invoice was made. A spring opening performed two weeks before the anniversary prices at the first-term rate even if it is invoiced a month later. A late-submitted report from the prior term does not silently reprice.

That also means historical invoices stay reproducible. Reprint one from eighteen months ago and it comes out the same, because the rate was determined by a date that has not changed.

Reconciling against the contract

Storing both rates enables a check worth running before every renewal: produce the annual programme total at first-term rates and again at renewal rates, and compare both against the figures written in the agreement.

If the agreement states a Year One total and a Year Two total, the system should reproduce both to the cent. A mismatch means either the fee schedule was loaded wrong or the agreement itself contains an arithmetic error, and both are worth finding while the client is still a signature away rather than an invoice away.

What to write into the agreement

Two clauses make this clean. State the anniversary date explicitly rather than saying "one year from commencement", because commencement dates get disputed. State the renewal rate for each line in the fee schedule itself rather than as a percentage uplift in the body text, because a percentage has to be recalculated and a figure does not.

A fee schedule that lists both rates side by side is also the clearest thing a client can read. They can see exactly what happens next year, which removes the unwelcome surprise that makes renewal conversations difficult.