
789 S.W.2d 656 (1990)
Alfredo P. GARCIA, d/b/a Garcia Trucking Company, Appellant,
v.
KASTNER FARMS, INC., et al., Appellees.
No. 13-88-247-CV.
Court of Appeals of Texas, Corpus Christi.
April 26, 1990.
*657 W. Michael Murray, Austin, for appellant.
James M. Whitten, Sinton, for appellees.
*658 Before NYE, C.J., and SEERDEN and DORSEY, JJ.

OPINION
NYE, Chief Justice.
Appellant, Alfredo Garcia, appeals from a take-nothing judgment in a non-jury trial. Appellant Garcia sued appellees, Kastner Farms, Inc. (Kastner Farms) and Diamond Shamrock Refining and Marketing Company (Diamond Shamrock), alleging breach of contract. The trial court determined that Kastner Farms owed Garcia $17,569.40, and at the same time offset this same amount as damages which Kastner Farms should recover on its counterclaim against Garcia. Garcia appeals. We affirm the judgment of the trial court.
In May 1986, Kastner Farms contracted with Diamond Shamrock for the construction of an agricultural irrigation reservoir. The contract required timely performance without interruption or delay. Furthermore, the contract required excavation of a large volume of clay to seal the reservoir walls. Kastner Farms subcontracted this clay excavation and hauling portion of the project to appellant Garcia. Their written contract set payment at $1.40 per cubic yard of naturally compacted material hauled to the job site. Garcia was to begin and complete his work as Kastner Farms directed.
On July 25, 1986, fifteen of Garcia's trucks began excavating and hauling clay to the construction area.[1] Subsequently, the local police and Department of Public Safety patrols ticketed the trucks for overloading. In that regard, Texas law requires twin-screw, tandem-axle trucks for the payload weight Garcia's trucks were carrying. Most of Garcia's trucks were of the single-axle type.
The truckers, most of whom subcontracted with Garcia, reportedly refused to perform after receiving additional citations. When Kastner Farms complained that more clay was required than Garcia was providing, Garcia assured Kastner Farms that eleven trucks would be back on the job within several days. By July 31, 1986, seven trucks appeared for work, but only four remained by midmorning.
That same day, Garcia and his manager, Kenneth Matthews, discussed the truck situation with Albert and Dennis Kastner. Garcia informed the Kastners that the subcontracted truckers would not perform due to the citations and that a lighter payload was unprofitable at the $1.40 price. Garcia and the Kastner's reduced the payload weight and raised the contract price to $1.50 per cubic yard, effective retroactively. Garcia agreed to "get more trucks" on the project. The next day, August 1, 1986, Garcia had 14 trucks waiting to be loaded at the clay pit. Nevertheless, only three trucks appeared three days later, and all work halted by midafternoon.
On August 4, Matthews, Garcia, and Albert and Dennis Kastner met to discuss the second truck shortage. Garcia informed the group that overloading citations continued to be a problem and that the $1.50 per cubic yard price was still unprofitable. Again, the payload weight was lowered. Kastner Farms offered to pay $1.75 per cubic yard, effective August 4, for Garcia to "bring in more trucks" to complete the project. By August 7, fourteen trucks were hauling clay. Thereafter, performance continued without incident until final completion on September 15, 1986. Garcia promptly left the jobsite. Approximately fourteen to forty-five days later, Garcia returned to survey the clay pit; however, such a survey was impossible because Kastner Farms had previously reclaimed the pit by filling it in with the original topsoil.
Prior to reclamation, Diamond Shamrock surveyed the pit and determined that Garcia had excavated 43,621 cubic yards of naturally compacted clay for the reservoir project. It subsequently paid Kastner Farms under their contract for this amount of clay. Kastner Farms then utilized the same yardage to determine the total amount it owed Garcia.
*659 During the excavation project, Kastner Farms paid Garcia $43,500 in advances.[2] When the project was complete, Kastner Farms met Garcia for an attempted final settlement of accounts. Garcia calculated that Kastner Farms owed him a final balance of $42,234.28. Kastner Farms refused to pay this amount, contending it owed Garcia only $17,569.40.
In its findings of fact and conclusions of law, the trial court found: (a) no new consideration and no subsequent legal oral or written modifications to the written contract, except those extracted by Garcia's fraud and duress; (b) that Kastner Farms did not waive the original contract price of $1.40 per cubic yard of on-site naturally compacted clay and did not lead Garcia to believe that it had agreed to any contract modifications; (c) that the fair and reasonable price for the services Garcia performed was $1.40 per cubic yard of naturally compacted clay; (d) that Kastner Farms paid Garcia $43,500 for work performed under their contract; (e) that Garcia excavated and hauled 43,621 cubic yards of naturally compacted clay and was given ample opportunity to measure the excavated pit and to witness the measurements taken by others; (f) that Garcia breached the contract by not performing in a good, proper and safe manner, by not hauling and unloading the clay as directed by Kastner Farms, and by slowing or halting performance in an attempt to obtain more money; (g) that Kastner Farms owed Garcia an unpaid balance under the written contract of $17,569.40, and that Garcia's breach of the contract damaged Kastner Farms in that amount; (h) that there was no waiver or estoppel by or charged against Kastner Farms; and (i) that quantum meruit could not vary the written contract price.
Findings of fact entered in a nonjury case have the same force and dignity as a jury's verdict upon special issues. City of Clute v. City of Lake Jackson, 559 S.W.2d 391, 395 (Tex.Civ.App.Houston [14th Dist.] 1977, writ ref'd n.r.e.). Appellate courts review a trial court's findings of fact by the same standards as those applied to review the legal and factual sufficiency of the evidence to support a jury's answer to a special issue. Okon v. Levy, 612 S.W.2d 938, 941 (Tex.Civ.App.Dallas 1981, writ ref'd n.r.e.). The record contains ample evidence indicating that Garcia extracted the oral modifications to the written contract through fraud and/or duress. The issue before this court is whether Kastner Farms waived its defenses and ratified the contract modifications.
WAIVER AND RATIFICATION
By his third point of error, Garcia asserts that, as a matter of law, Kastner Farms ratified the contract modifications or waived the duress or fraud. By his fourth point of error, Garcia asserts that the trial court erred by finding that the payment price was $1.40 per cubic yard of naturally compacted cubic yard of clay because the prices were established, as a matter of law or fact, as $1.50 per cubic yard from the inception of the contract until August 3, 1986, and thereafter at $1.75 per cubic yard.
Contract ratification is usually a mixed question of law and fact. Wise v. Pena, 552 S.W.2d 196, 200 (Tex.Civ.App.Corpus Christi 1977, writ dism'd); Briggs v. Briggs, 337 S.W.2d 753, 756-57 (Tex.Civ. App.Amarillo 1960), rev'd on other grounds, 162 Tex.177, 346 S.W.2d 106 (1961). If the evidence of ratification is uncontrovertible, then the question of ratification is determined as a matter of law. Wise, 552 S.W.2d at 200. However, when the act or acts of ratification are controverted, the question of ratification becomes one for the trier of facts. Missouri Pacific Railway Co. v. Brazil, 72 Tex.233, 10 S.W. 403, 407 (Tex.1888); Wise, 552 S.W.2d at 200; Indemnity Ins. Co. of North America v. Sterling, 51 S.W.2d 788, 791 (Tex. Civ.App.Beaumont 1932, writ dism'd).
*660 Dennis Kastner testified at trial that had Garcia not breached the contract, Kastner Farms would have owed Garcia an unpaid balance of $17,569.40 under the original $1.40 contract price. Kastner also testified that although Kastner Farms did offer to raise the price per cubic yard of clay hauled, it never would have made such an offer had Garcia not delayed or completely halted Kastner Farms' work schedule and thus interfered with Kastner's own contract obligations to Shamrock.
As the trier of facts, the trial court could believe this testimony. The evidence supports the court's finding that Kastner Farms did not modify the terms of the contract and did not subsequently ratify those modifications coerced from it by Garcia's fraud and/or duress. We hold that the trial court did not err in finding that Kastner Farms did not waive Garcia's fraud and duress and did not later ratify the oral price modifications. Appellant's third and fourth points of error are overruled.
BREACH AND DAMAGES
By his sixth point of error, Garcia asserts that the evidence supporting the trial court's finding that Garcia breached the terms of his contract with Kastner Farms is legally and factually insufficient. By his seventh point of error, Garcia asserts that the evidence is factually insufficient to support the trial court's finding that such breaches damaged Kastner Farms.
The record indicates that Garcia twice slowed or stopped the clay hauling project, causing Kastner Farms interruptions and delay on the reservoir construction. His failure to perform in a workmanlike and timely manner constituted a breach of his contract obligations. Dennis Kastner testified that Garcia's reducing or halting the amount of clay hauled to the reservoir caused Kastner Farms $31,847.85 in unnecessary expenses. These expenses included wages for unoccupied personnel, bulldozer rental, maintainer rental, vibratory soil compactor rental, two vacuum services, and overtime labor for Kastner Farms personnel who tried to catch up with the original construction schedule after Garcia resumed his duties. We hold that there was sufficient evidence for the trial court to award Kastner Farms $17,569.40 as damages for Garcia's breach. Point of error number seven is overruled.
QUANTUM MERUIT
By his tenth point of error, Garcia asserts that the trial court's finding that the fair and reasonable value of the services rendered was $1.40 per cubic yard of compacted clay is against the great weight and preponderance of the evidence and that quantum meruit requires that he be paid according to the alleged price modifications. It is a well-established rule that a party to a contract who is in default cannot maintain a suit for its breach. Dobbins v. Redden, 785 S.W.2d 377 (Feb. 28, 1990); Gulf Pipe Line Co. v. Nearen, 135 Tex.50, 138 S.W.2d 1065, 1068 (Tex. Comm'n App. 1940, opinion adopted); Kelly v. Webb, 27 Tex. 368, 369 (Tex.1864); Carr v. Norstok Building Systems, Inc., 767 S.W.2d 936, 939 (Tex.App.Beaumont 1989, no writ). However, this strict rule has been modified for building or construction contracts by the rule of substantial performance. Dobbins, 785 S.W.2d at 378; Vance v. My Apartment Steak House of San Antonio, Inc., 677 S.W.2d 480, 481 (Tex.1984); Atkinson v. Jackson Bros., 270 S.W. 848, 850 (Tex. Comm'n App.1925, holding approved). The rule of substantial performance is an equitable doctrine adopted to allow a contractor who has substantially completed a construction contract to sue on the contract rather than being relegated to his cause of action for quantum meruit. Vance, 677 S.W.2d at 482; Carr, 767 S.W.2d at 940. A breaching contractor who sues under the contract to recover for substantial performance must prove that he did in fact substantially perform.
In the present case, Garcia's pleadings alleged full performance of the contract while Kastner Farms counterclaimed that Garcia breached the contract. The trial court found that Garcia breached the contract and damaged Kastner Farms and yet allowed Garcia to recover on his claim. These findings seem to be inconsistent with *661 each other. The trial court's finding of breach indicates that the court also found that Garcia failed to establish that he completely performed his contract duties. These findings coupled with Garcia's failure to plead substantial performance would tend to bar recovery in his suit under the contract. Dobbins, 785 S.W.2d at 378; Stoner v. Thompson, 578 S.W.2d 679, 682-83 (Tex.1979).
Nevertheless, Garcia did plead quantum meruit as an alternative ground of recovery. Generally, a plaintiff seeking to recover the reasonable value of services rendered or materials supplied may recover in quantum meruit only when there is no express contract covering those services or materials. Truly v. Austin, 744 S.W.2d 934, 936 (Tex.1988); Pat Womack, Inc. v. Weslaco Aviation, Inc., 688 S.W.2d 639, 642 (Tex.App.Corpus Christi 1985, no writ); see also Kostelnik v. Roberts, 680 S.W.2d 532, 536 (Tex.App.Corpus Christi 1984, writ ref'd n.r.e.). An exception to this rule allows a breaching plaintiff involved in a building or construction contract to recover the reasonable value of services less any damages suffered by the defendant. See, e.g., City of Sherman v. Connor, 88 Tex. 35, 29 S.W. 1053 (1895); City of Ingleside v. Stewart, 554 S.W.2d 939, 947 (Tex.Civ.App.Corpus Christi 1977, writ ref'd n.r.e.). Central to the contractor's right to recover in quantum meruit is the owner's acceptance and retention of the benefits arising as a direct result of the contractor's partial performance. Truly, 744 S.W.2d at 937. The plaintiff, to justify recovery in quantum meruit, must prove that he rendered a partial performance of value, that the defendant is unjustly enriched as a result of this partial performance, and that permitting the defendant to retain the benefits of the partial performance would unjustly penalize the plaintiff.
The record shows that Garcia finally completed the clay excavation and hauling project. As a result, Kastner Farms completed the reservoir's clay liner and, subsequently, the entire reservoir project. Kastner Farms, by not paying Garcia for his partial performance and retaining the benefits, unjustly enriched itself.
We hold, then, that the trial court in effect erred by finding that Garcia could recover under the contract for the unpaid portion of his services. This is so because Garcia did not prove full performance and did not plead substantial performance of the contract obligations. However, the record shows that Garcia should recover in quantum meruit the reasonable value of the services he performed for Kastner Farms, which the evidence shows to be $1.40 per cubic yard of clay material hauled. Appellant's tenth point of error is overruled.
OFFSET AND PAYMENT
By his eighth point of error, Garcia asserts that the trial court erred by allowing Kastner Farms to establish offset because offset was not properly pleaded. If intended as an affirmative defense, offset must be pleaded and proved by the party making the assertion. Brown v. American Transfer And Storage Co., 601 S.W.2d 931, 936 (Tex.1980), cert. denied, 449 U.S. 1015, 101 S.Ct. 575, 66 L.Ed.2d 474 (1980); Cranetex, Inc. v. Precision Crane & Rigging of Houston, Inc., 760 S.W.2d 298, 303 (Tex.App.Texarkana 1988, writ denied). In the present case, pleading offset as an affirmative defense was unnecessary because Kastner Farms counterclaimed that it was damaged when Garcia breached the contract. An affirmative finding of breach would entitle Kastner Farms to recover damages on this counterclaim.
As stated herein, the trial court found that Garcia breached the contract and determined that Kastner Farms suffered $17,569.40 in damages. Kastner Farms' damages exactly offset the amount which it owed Garcia under the contract. The trial court did not err in allowing evidence to support this counterclaim and by offsetting the amount owed by the damages incurred by the breach. Appellant's eighth point of error is also overruled.
VOLUME OF CLAY EXCAVATED AND HAULED
By his ninth point of error, Garcia asserts that the trial court erred as a matter *662 of fact by finding that Garcia excavated and hauled 43,621 cubic yards of clay and other natural materials to the reservoir site. Both parties produced conflicting testimonies regarding the exact volume of clay that Garcia excavated. Robert Miller, Diamond Shamrock's engineer for the reservoir project, conducted two surveys to determine the volume of clay removed from the pit. The first survey indicated that approximately thirty-eight thousand cubic yards of clay was removed. His second survey indicated that 43,621 cubic yards of clay had been removed. Terry Hearn, Garcia's engineering expert, testified that he calculated Garcia removed 52,484 cubic yards of clay from the borrow pit. Kenneth Matthews testified that he calculated Garcia removed 50,754 cubic yards of clay by reducing the total volume of uncompacted clay excavated (derived from the trip tickets recording each truckload) by an eighteen per cent compaction rate.
James Naismith, Kastner Farms' engineering expert, calculated that Garcia removed 36,433 cubic yards of clay. Naismith testified that even though several people used the same survey results in their calculations, the answers would differ normally four to five per cent.
Due to the conflicting expert testimonies, determination of the actual amount of clay excavated from the pit was an issue for the trial court. The evidence supports the trial court's finding that Garcia excavated and hauled 43,621 cubic yards of clay from the borrow pit. Appellant's ninth point of error is overruled.
ESTOPPEL
By his fifth point of error, Garcia asserts that the trial court erred in finding that Kastner Farms was not estopped, as a matter of law, from denying that it promised to pay the $1.50 and $1.75 per cubic yard price increases. Promissory estoppel is generally not available where, as here, a contract exists between the parties governing the subject matter of the promise. Kneip v. Unitedbank-Victoria, 734 S.W.2d 130, 133 (Tex.App.Corpus Christi 1987, no writ); see also Wheeler v. White, 398 S.W.2d 93, 97 (Tex.1965). Promissory estoppel does not provide a remedy in the instant case because a written contract existed between the parties. Appellant's fifth point of error is also overruled.
ATTORNEY FEES
By his eleventh and final point of error, Garcia complains that the trial court erred by not allowing him to recover his attorney's fees from Kastner Farms after he had properly asserted his claim and properly requested payment. The allowance of attorney's fees is within the sound discretion of the trial court; its judgment will not be disturbed absent a clear showing of an abuse of that discretion. Rio Fresh, Inc. v. Consolidated Produce Brokers, 710 S.W.2d 174, 176 (Tex.App.Corpus Christi 1986, no writ); First Federal Sav. & Loan Ass'n v. Ritenour, 704 S.W.2d 895, 902 (Tex.App.Corpus Christi 1986, writ ref'd n.r.e.); Buffalo Sav. & Loan Ass'n v. Trumix Concrete Co., 641 S.W.2d 650, 655 (Tex.App.Corpus Christi 1982, no writ). The record before us contains no testimony regarding attorney's fees by which we could determine whether the trial court abused its discretion. Appellant's eleventh point of error is overruled.
We hold, finally, that Garcia should recover in quantum meruit $17,569.40 for services provided to Kastner Farms and that Kastner Farms will recover from Garcia $17,569.40 for the damages incurred by his breach.
The judgment of the trial court is AFFIRMED.
NOTES
[1]  Dennis Kastner's daily work journal recorded notes regarding the clay hauling problems with Garcia, the resolutions to those problems, and fluctuations in Garcia's truck numbers.
[2]  The record does not indicate whether Kastner Farms calculated the advance amounts using the $1.40 price or the modified prices.
