Doyle, Presiding Judge. TD Auto Finance, LLC (“TDAF”), sued Dale Sanders alleging breach of a retail installment contract for the purchase of a 2015 Audi S8 (the “Contract”). Following a bench trial, the State Court of Fulton County entered a final judgment in the amount of $113,816.82 in favor of TDAF and against Sanders. For the reasons set forth infra, we reverse. In its complaint, filed in March of 2019, TDAF alleged that Sanders was indebted to it in the principal sum of $84,355.76 under the Contract “between the parties[.]” TDAF also sought interest, attorney fees, and costs under the Contract. TDAF attached to the complaint a copy of the Contract, stamped “ Customer Copy,” which lists Sanders as the Buyer and “Advantage BMW ClearLake/Mini o” (hereinafter, “Advantage BMW”) as the “Seller/Creditor.” TDAF also attached an account history to the complaint. Sanders filed a timely pro se answer, stating, inter alia, that the vehicle had been stolen and was part of an ongoing FBI investigation. The docket reflects no further activity until more than two years later, when the trial court set the case down for a bench trial in April 2021. Although the record on appeal does not contain a transcript of that hearing, Sanders appeared with counsel, and the court continued the bench trial until the following month. Two days prior to the continued bench trial, Sanders’s attorney filed an entry of appearance, as well as a subpoena duces tecum to an FBI special agent, requesting that the agent provide any documents regarding the case number that Sanders had referenced in his pro se answer. Counsel specifically requested the agent to provide any evidence that the vehicle in question was involved in the FBI case and that it had been stolen. The day before trial, TDAF filed an affidavit of its employee, identified as a “loss mitigation spec[ialist,]” who stated that “ Seller assigned its rights and interests in and to the Contract” to TDAF. Attached to the affidavit are a copy of the Contract and the loan history. Several hours before the scheduled bench trial, the parties filed a consent motion for a continuance, noting that Sanders’s attorney had subpoenaed records from the FBI and could not move forward until they were received. According to the transcript from the bench trial, the trial began as scheduled, although the initial part of the trial was not transcribed. Once the court reporter appeared and the transcription began, the state court noted that the consent motion for a continuance had been denied, that the trial was already underway, and that the Contract had been admitted into evidence over Sanders’s authentication objection. The court denied Sanders’s request to enter the Contract into evidence on the record, and it thus does not appear as a trial exhibit. On the record, the court overruled Sanders’s objection that no proper foundation had been laid for the Contract, and TDAF rested its case. In defense, Sanders testified that he had “contracted out” to “lease” the vehicle to a third party, who “[m]ade like two payments and . . . disappeared with the car.” Sanders “[f]ound out later that was something bigger than what [he] thought it was, and the FBI got called in. [A]nd that’s when [Sanders] found out that the vehicle was stolen, it was a part of the case of [the FBI]. But [the FBI] would never give [him] any information about [the case] because it was sealed.” Sanders testified further that his attorney had subpoenaed the FBI’s records so that Sanders could file a claim on his insurance policy, which would pay the debt. The state court again denied Sanders’s request for a continuance to allow the FBI time to respond to the recently issued subpoena. Following the bench trial, the state court entered final judgment in favor of TDAF in the amount of $113,816.82, which included prejudgment interest, attorney fees, and costs,”[i]n light of applicable law, the record as a whole, and after hearing evidence presented at trial regarding the debt, including [Sanders's] admission that he purchased the subject vehicle[.]” This appeal followed. On an appeal from an entry of judgment following a bench trial, we apply a de novo standard of review to any questions of law decided by the trial court, but will defer to any factual findings made by that court if there is any evidence to sustain them. Nevertheless, if the trial court makes a finding of fact which is unsupported by the record, that finding cannot be upheld, and any judgment based upon such a finding must be reversed.[1] With these guiding principles in mind, we turn now to Sanders’s claims of error. 1. Sanders argues that the evidence is insufficient to support the judgment because TDAF failed to meet its burden of showing privity of contract. Specifically, Sanders contends that no assignment appears in the record and the statement in the affidavit that Advantage BMW had assigned the Contract to TDAF was hearsay that could not substitute for the assignment itself. “The doctrine of privity of contract requires that only parties to a contract may bring suit to enforce it.”[2] “A party may assign to another a contractual right to collect payment, including the right to sue to enforce the right. But an assignment must be in writing in order for the contractual right to be enforceable by the assignee. Further, the writing must identify the assignor and assignee.”[3] In this case, there is no evidence in the record to support the trial court’s judgment in favor of TDAF. The Contract identifies Advantage BMW as the “Seller/Creditor” and makes no mention of TDAF. Although the record contains an affidavit of a “loss mitigation spec[ialist,]” who averred that Advantage BMW had assigned its rights and interest to TDAF, the affiant did not state whether the assignment was in writing, and she did not attach to her affidavit a copy of such assignment. “[T]estimony regarding the contents of business records, unsupported by the records themselves, by one without personal knowledge of the facts constitutes inadmissible hearsay.”[4] Because TDAF’s loss mitigation specialist’s statements concerning the assignment were based on her review of the records maintained by TDAF and not her personal knowledge (as she did not testify to being employed at TDAF at the time of the assignment), her affidavit regarding the assignment constituted inadmissible hearsay.[5] Without the written assignment itself, TDAF failed to establish the elements of its claim against Sanders,[6] and the record does not support the judgment in favor of TDAF.[7] Accordingly, the final judgment is reversed. 2. In light of our conclusion in Division 1, we need not address Sanders’s other claims of error. Judgment reversed. Barnes, P. J. and Senior Appellate Judge Herbert E. Phipps, concur.