
518 S.E.2d 458 (1999)
238 Ga. App. 246
AL AND ZACK BROWN, INC.
v.
BULLOCK.
No. A99A0049.
Court of Appeals of Georgia.
May 26, 1999.
*460 Jones, Cork & Miller, Howard J. Strickland, Jr., Wendell K. Howell, Alan G. Snipes, Macon, for appellant.
Smith & Fleming, Robert O. Fleming, Jr., Peter M. Crofton, Atlanta, for appellee.
*459 RUFFIN, Judge.
Barbara Bullock, d/b/a Unique Welding & Fabricating (Unique), sued Al and Zack Brown, Inc. (Brown) for breach of contract, seeking $140,000 in damages, plus interest. A jury awarded Unique $30,661.25, and the trial court entered judgment for that amount, plus costs and post-judgment interest. Brown orally moved for directed verdict at the close of trial and later filed written motions for judgment notwithstanding the verdict and new trial, arguing that Unique failed to properly prove both its damages and to prove the existence of a contract between the parties. The trial court denied all three motions, and Brown appeals. For reasons that follow, we affirm.
A directed verdict or j.n.o.v. should be granted only "[i]f there is no conflict in the evidence as to any material issue and the evidence introduced, with all reasonable deductions therefrom, shall demand a particular verdict." OCGA § 9-11-50(a) & (b). Accordingly,
[w]here a jury returns a verdict and it has the approval of the trial judge, the same must be affirmed on appeal if there is any evidence to support it as the jurors are the sole and exclusive judges of the weight and credit given the evidence. The appellate court must construe the evidence with every inference and presumption in favor of upholding the verdict, and after judgment, the evidence must be construed to uphold the verdict even where the evidence is in conflict. As long as there is some evidence to support the verdict, the denial of [a] motion for directed verdict [or] j.n.o.v. will not be disturbed.
(Punctuation omitted.) Ballenger Paving Co. v. Gaines, 231 Ga.App. 565, 566(1), 499 S.E.2d 722 (1998). Likewise, we will affirm a trial court's denial of a motion for new trial if there is any evidence to support the jury's verdict. Lofty v. Fuller, 223 Ga.App. 95, 97(2), 477 S.E.2d 30 (1996).
Viewing the evidence in the light most favorable to Unique, Unique submitted to Brown a bid of $764,998 for the detailing, fabrication, and erection of steel bins and related structures at an industrial plant Brown was building. The bid included the price of purchasing the raw steel needed to complete the job, and the amount of the bid was based on price quotes Unique received from O'Neal Steel (O'Neal), a wholesale supplier. To calculate the bid, Unique added the price per pound of the raw steel plus a price per pound for detail drawings, labor and other expenses, and profit, then multiplied that sum by the total pounds of steel required for the job. Brown accepted the bid.
Unique then learned that, as a new business, it could not purchase steel on credit *461 from O'Neal and would instead have to buy from higher-priced suppliers, cutting into its profits on the job. Brown agreed to help Unique by supplying a line of credit to O'Neal on behalf of Unique, so that O'Neal would bill Brown directly for the raw steel and Brown would deduct its payments to O'Neal from the installment invoices it received from Unique.
Unique began performing under the contract, first subcontracting out the creation of detail drawings of the structures. Unique billed Brown $46,260 for 60 percent of the detail drawings, and Brown promptly paid. Next, Unique began ordering raw steel from O'Neal and other suppliers and fabricating it to Brown's specifications. After several weeks of work, Unique billed Brown $64,638 for 120,000 pounds of fabricated steel, or about 10 percent of the total project. Unique never received payment on the second invoice. Upon inquiry, Unique learned that Brown had, in fact, paid the billbut had made the check out to a former employee of Unique who, unbeknownst to Unique, had entered into a separate agreement with Brown to finish the project. Brown promised Unique that, if Unique gave Brown all the steel it had for the project, Brown would settle with Unique. Unique accordingly stopped work on the project and sent all unfinished and partially finished steel for the job to Brown and Unique's former employee. However, Brown never paid Unique any more money.[1]
1. In its first and second enumerations of error, Brown contends that Unique failed to properly prove its damages because it did not quantify either the expenses it incurred to the date of the breach or the profit it earned on the work it had performed. We find no error in Unique's method of proving damages.
The purpose of awarding damages for breach of contract is to "put [the plaintiff] in as good a position as if the defendant had fully performed the contract." PMS Constr. Co. v. DeKalb County, 243 Ga. 870, 872(2), 257 S.E.2d 285 (1979). When an owner breaches a fixed-price construction contract, the usual measure of damages is the net profit the contractor would have received had it fully performed, which is calculated by subtracting from the contract price the amount that full performance would have cost the contractor. Dill v. Chastain, 234 Ga.App. 770, 771, 507 S.E.2d 872 (1998); Williams v. Kerns, 153 Ga.App. 259, 266(1), 265 S.E.2d 605 (1980). If the contractor has partially performed,
there must be added to the profit figure the amount of the contractor's net loss up to the point of the breach. That figure is reached by subtracting from the expenses incurred by reason of the contractor's performance the salvage or resale value of the material left on hand.... Second, there must be deducted from the recovery those amounts received by the contractor from the owner as prepayment or progress payment.
Williams, supra at 267, 265 S.E.2d 605; Energy Contractors v. Ga. Metal Systems &c., 186 Ga.App. 475, 477(2), 367 S.E.2d 324 (1988). This formula permits the contractor to realize the benefit of its bargain by recovering profits it would have earned both on work performed but not yet paid and on work not yet performed. Imaging Systems Intl. v. Magnetic Resonance Plus, 227 Ga. App. 641, 643(1), 490 S.E.2d 124 (1997).
As an alternative to suing for the benefit of the bargain, the contractor may "treat[ ] the contract as rescinded and at an end," in which case "he can sue and recover the full value of the labor done and materials furnished in the partial performance of the contract, less payments made thereon." Decatur County v. Praytor, Howton & Wood Contracting Co., 163 Ga. 929, 937(3), 137 S.E. 247 (1927). Under these circumstances, a contractor who has partially performed "is entitled to the compensation provided for in the contract, so far as he has performed the work and furnished materials." Id.
As an initial matter, Unique argues that the above measure of damages does not apply because this case is governed by the Uniform Commercial Code (UCC), which *462 permits a seller to recover the price of goods accepted by the buyer. OCGA § 11-2-709(1). We disagree. Article 2 of the UCC applies only to actions involving the sale of goods. OCGA § 11-2-102; Mail Concepts v. Foote & Davies, Inc., 200 Ga.App. 778, 779(1), 409 S.E.2d 567 (1991). Here, the contract was not primarily for the sale of goods. The primary purpose of the parties' amended agreement was the provision of steel fabrication and installation services, not the purchase of steel, as evidenced by the fact that Brown purchased most of the steel directly from O'Neal. See OMAC, Inc. v. Southwestern Machine & Tool Works, 189 Ga.App. 42, 374 S.E.2d 829 (1988) (UCC did not apply where "[i]n essence, appellee agreed to perform a service, making appellant's material into the parts appellant needed"). Accordingly, the UCC does not govern this case, and Unique was required to prove damages in accordance with general principles of contract law.
At trial, Unique sought only the amount Brown owed Unique for Unique's performance up until the breach.[2] Unique's founder, Bobby Bullock, explained how he calculated Unique's damages. First, Bullock determined the price paid for the steel purchased for the job through O'Neal and other suppliers by referring to purchase orders and shipping receipts. Bullock then estimated the percentage of the purchased steel that Unique had fabricated by the time of the breach and multiplied that number by the contract price per pound of steel, which included both the cost of the steel and a charge for detailing and fabrication. From this figure, Bullock subtracted Brown's estimated direct payments to O'Neal for raw steel, the partial payments Brown already had made to Unique, and the two payroll checks issued at Brown's direction. The resulting number$56,169.28represented the amount Unique contended it was owed at the agreed-upon contract price for Unique's actual performance prior to the breach.
Brown contends that Unique was required to follow the benefit-of-the-bargain damages formula outlined above because Unique's alleged damages included profits Unique expected to earn on the work it had performed.[3] Brown further contends that Unique failed to comply with this formula because Unique failed to separate its overhead expenses from its expected profits for work already performed. We find that Unique was not required to follow the benefit-of-the-bargain procedure for proving damages because Unique did not request profits for work it had not yet performed. Instead, Unique sought only to be paid "the compensation provided for in the contract" for the work it already had donea valid alternative measure of damages. Decatur County, supra. That Unique's actual damages may have included "profit" earned on the work already performed does not change this analysis. Unique presented sufficient evidence that the compensation provided for in the contract could be computed on a per-pound basis, and it was for the jury to decide how to calculate the exact amount.[4]
2. In several enumerations of error, Brown claims that Unique's proof of damages was based on purely speculative evidence that could not have permitted the jury to determine damages with reasonable certainty. Brown points to Bobby Bullock's testimony that Unique's damages calculations were based on Bullock's estimates of the amount of work Unique had completed at the time of the breach because some of the records which would permit Unique to present exact figures were taken by the departing Unique employee whom Brown engaged to finish the project. Bobby Bullock explained, however, that his estimates were based on the records Unique still had, on Bullock's personal knowledge and experience on the job, and on photographs of the work Unique completed. Moreover, where Bullock was uncertain of exactly how much steel Unique had fabricated, he estimated conservatively.
*463 Although Brown correctly states that damages may not be based on speculation and conjecture,
[t]he rule against the recovery of vague, speculative, or uncertain damages relates more especially to the uncertainty as to cause, rather than uncertainty as to the measure or extent of the damages. Mere difficulty in fixing their exact amount, where proximately flowing from the alleged injury, does not constitute a legal obstacle in the way of their allowance, when the amount of the recovery comes within that authorized with reasonable certainty by the legal evidence submitted.
(Punctuation omitted.) Crosby v. Spencer, 207 Ga.App. 487, 488(1), 428 S.E.2d 607 (1993). Here, there was no uncertainty as to the cause of Unique's damages, and "[t]he jury had sufficient evidence by which it could determine damages with a reasonable degree of certainty." Williams, supra at 268(2), 265 S.E.2d 605 (affirming damages award based, in part, on contractor's estimate of cost savings). Although Brown's attorney attempted to undermine Bobby Bullock's damages computations during cross-examination, the jury obviously concluded Unique was entitled to a recovery. The jury award was less than half the amount Unique sought and was well within the range permitted by the evidence. Pippin v. Burnum, 172 Ga.App. 553, 555(2), 323 S.E.2d 857 (1984).
3. Finally, we reject Brown's argument that the jury verdict was against the weight of the evidence. Our review is limited to a determination of whether the evidence, when viewed in the light most favorable to Unique, supports the verdict. Willis v. State, 263 Ga. 597, 598(1), 436 S.E.2d 204 (1993). We find that it does.
Because the trial court did not err in denying Brown's motions for directed verdict, j.n.o.v., and new trial, we affirm.
Judgment affirmed.
McMURRAY, P.J., and ANDREWS, J., concur.
NOTES
[1]  At Brown's direction, the former Unique employee gave Unique two checks totaling $26,278.58 so that Unique could meet its payroll.
[2]  Unique initially sought damages for lost future profits, as well, but abandoned this claim prior to trial.
[3]  We note that Brown never requested a jury instruction on this damages formula.
[4]  By paying Unique's first bill, paying the second bill to the former Unique employee, and promising to settle with Unique, Brown essentially admitted that it owed Unique partial payments as the job progressed based on a negotiated contract price.
