Upon execution of the agreement, we set up a project for each sprint in our Harvest Time Management System. This allows us to parallelize work while attributing it to a specific deliverable. Sprints represent a number of man-hours, but multiple individuals might be involved in the time & effort.
Upon commencement of a Sprint, we send an invoice for the stated amount. That's a retainer from which we draw against to deliver the integration of our solution. If there's an overage, we have the option of rolling the remaining work into the next Sprint or consuming time against the “General Support” retainer. In all cases, we'll prepare a detailed/itemized invoice (called a “True-Up”) against that sprint and bill for the excess hours in an entirely transparent manner. This is all handled automatically by our bookkeepers.