D provides billing services to healthcare providers through proprietary billing and records-management software. Its software line includes Practice Manager, a billing program that functions as a platform for submitting claims to D for transmission to insurers, and EMRge, a records-management software that works in conjunction with Practice Manager. On June 18, 2003, P entered into an agreement with D to purchase the Practice Manager software and related services, including ongoing billing services, IT support and electronic claim-submission services, and five days of initial training in how to use the software. The healthcare provider can track the status of its claims using a software tool called the Client Center. Claims with errors at any step of the process remain in the Client Center until corrected and resubmitted. P experienced problems with Practice Manager 'almost from the beginning.' There were 'problems with accuracy in the amounts that were sent,' 'problems with dates missing,' and 'entire transmissions that had been resent [and then were] missing.' D blamed it all on the insurers. The insurers reported that they never received the claims. Soon after implementing Practice Manager, P was 'losing money like crazy.' P insists that it did not realize until much later that D's software and services were to blame for its cash-flow problems. P entered into a second contract with D on June 28, 2006-this time for a software program called EMRge that worked in conjunction with Practice Manager to facilitate patient records management and billing reimbursement. This one included the software, five days of initial training in its use, ongoing billing services, and IT support. Just as with Practice Manager, P experienced problems with EMRge 'almost from the beginning.' In October 2011 P a billing specialist, and she immediately noticed that some of P's claims were going unpaid. She discovered that the Client Center had not been opened in about 18 months. Thousands of unpaid claims had piled up in the meantime. For many of these claims, the deadline for submission to the insurer had passed. P made an effort to recover payment, but the insurers refused to pay the stale claims. P maintains this was the first time it learned of the Client Center and how it functioned. On January 24, 2013, P filed suit alleging that its Practice Manager and EMRge software and related billing services caused these losses. On cross-motions for summary judgment, the judge concluded that the statute of limitations for each claim had long since expired. The judge ruled that all of P's claims accrued soon after the execution of the two agreements in 2003 and 2006, respectively. Under Indiana law, fraud claims are subject to a six-year statute of limitations, so this accrual ruling meant that all three fraud-based claims were time-barred. The tortious interference claim was likewise untimely under the applicable two-year limitations period. The judge also concluded that all of the contract-based claims are governed by the UCC because the agreements in question were predominantly for the sale of goods-that is, the software. Indiana UCC claims are subject to a four-year statute of limitations, so the judge held that these claims too were untimely. P appealed.