Plaintiff appeals from a judgment dismissing its complaint for failure to state a claim. ORCP 21A(8). We reverse in part and affirm in part.
In reviewing the granting of a motion to dismiss, we assume the truth of all allegations, as well as any inferences that may be drawn from them, and view them in the light most favorable to the nonmoving party. Oksenholt v. Lederle Laboratories, 294 Or 213, 215, 656 P2d 293 (1982). We determine whether the complaint states a claim as a matter of law. Hansen v. Anderson, 113 Or App 216, 218, 831 P2d 717 (1992).
Plaintiff is a subcontractor. Defendant H.D. Fowler Company (Fowler) is a manufacturer’s agent. Defendant Couch Pump Company (Couch) is a manufacturer of heavy-duty pumps. Plaintiff solicited bids for pumps it needed for a construction project. Fowler, as agent for Couch, submitted a written offer to provide those pumps. The offer, which is incorporated by reference into the complaint, contained two variations from the contract specifications plaintiff provided to Couch. Plaintiff contacted Fowler about those variations. Fowler told plaintiff that the pumps “would meet all of the contract specifications.” Plaintiff incorporated Couch’s offer into a bid that it submitted to a general contractor, who awarded plaintiff a subcontract. Plaintiff then told Fowler that it was accepting Couch’s offer. Couch supplied plaintiff with shop drawings to submit to the general contractor for approval. The general contractor did not approve the drawings, and Couch refused to supply different drawings or pumps that would comply with contract specifications.1
Plaintiff brought this action, asserting three claims for relief. Defendants successfully moved to dismiss each of the claims. Plaintiffs first assignment is that the court erred in dismissing its first claim for relief, denominated “Promissory Estoppel,” arguing that it has pleaded all of the elements of promissory estoppel. Defendants argue that promissory estoppel does not apply to the facts in this case *314and, even if it does, plaintiff did not plead the required elements.
Promissory estoppel is not an independent cause of action. It is a substitute for consideration, and provides a basis for enforcing a promise as a contract despite a lack of consideration, when the promisee has relied on a promise to his or her detriment. City of Ashland v. Hoffarth, 84 Or App 265, 270, 733 P2d 925, rev den 303 Or 483 (1987). A promise is enforceable by reason of promissory estoppel if there is: (1) a promise; (2) the promisor could reasonably foresee the promise would induce conduct of the kind that occurred; (3) actual reliance on the promise; and (4) a substantial change in position by the party seeking to enforce the promise. Schafer et al v. Fraser et ux, 206 Or 446, 472, 290 P2d 190 (1956); Bixler v. First National Bank, 49 Or App 195, 199, 619 P2d 895 (1980). The doctrinéis applied if “injustice canbe avoided only by enforcement of the promise.” Restatement of Contracts § 90 (1932); quoted with approval in Schafer et al v. Fraser et ux, supra, 206 Or at 468.
Plaintiff first alleges that Couch made a written offer to supply pumps. That offer contained two “exceptions” to the contract specifications. Next, plaintiff alleges:
“On or about July 2, 1992, [plaintiff] contacted Defendant Fowler, as agent for Couch, regarding the exceptions noted on the quote * * * whereupon, Fowler, as agent for Couch, informed [plaintiff] that the [pumps] it was offering, as agent for Couch, would meet all of the contract specifications * * * required for the DWWTP project, notwithstanding the exceptions noted on the written offer to [plaintiff].”
That allegation is susceptible to different interpretations. Defendants contend that plaintiff alleges Fowler promised the pumps would meet all “product specifications,” that is, although nonconforming, they would meet the performance requirements of the contract. Plaintiff argues that it has alleged that Fowler modified the offer by withdrawing the exceptions contained in the written offer. Defendants assert that, if the allegation is interpreted as an allegation that Fowler modified the bid, “there are no allegations that the bid as ‘modified’ was sufficiently specific to constitute a firm ‘promise.’ ”
*315Assuming the truth of plaintiffs allegations and viewing them in the light most favorable to plaintiff, Couch first made an offer to supply pumps that varied from contract specifications. Fowler, as agent for Couch, then modified the offer by withdrawing the “exceptions” that it contained. Because Fowler did not change any other term of the written offer, the modified offer was sufficiently specific to be a “firm promise.” Plaintiff relies on promissory estoppel as abasis for enforcing Fowler’s promise that allegedly modified the written offer. It alleges:
“8.
“By submitting an offer to [plaintiff] to provide the [pumps] for the Project, which would meet all contract specifications, Couch expected that if its bid was deemed the most advantageous bid by [plaintiff], its bid would be used by [plaintiff] in its proposal for the work.
“9.
“[Plaintiff] relied upon the bid of Couch and the promise that its pumps would meet all of the contract specifications, which reliance resulted in [plaintiffs] incorporation of Couch’s offer for the pumps in its own subcontract bid. Such reliance was reasonable and was expected by Couch when it submitted its offer to [plaintiff] and when it promised, through its agent Fowler, that its [pumps] would meet all of the contract specifications.
‡ *
“11.
“[Plaintiffs] subcontract bid, which included Couch’s offer for [pumps], was accepted by the general contractor * * *. Upon [the general contractor’s] acceptance of [plaintiffs] bid, [plaintiff] informed Couch, through its agent, Fowler, that its bid was being accepted and submitted a purchase order to Couch through Fowler.
“15.
“Despite [plaintiffs] demand that Couch perform according to its offer, Couch * * * has failed to supply plaintiff with [pumps] which complied with the contract specifications.
“16.
“As a result of * * * Couch’s failure and refusal to perform, despite demands by [plaintiff], plaintiff has been damaged in *316that it was required to purchase [pumps], which would meet the contract specifications, from another supplier * * *.”
We need not consider whether plaintiff has stated a claim for breach of contract based on a theory of promissory estoppel, because we conclude that plaintiff has sufficiently alleged breach of an express contract. See Chaney v. Shell Oil Co., 111 Or App 556, 827 P2d 196, rev den 313 Or 299 (1992). Assumingthe truth of plaintiffs allegations, Couch offered to supply plaintiff conforming pumps. Plaintiff accepted. Couch breached the parties’ agreement by failing to supply those pumps and plaintiff was damaged.
Plaintiff next assigns error to the trial court’s dismissal of its second claim for relief, entitled “Breach of Contract Implied in Fact.” It realleges the offer and other facts from the first claim. Plaintiff also alleges that it submittedapurchase order that “codified” the terms ofthe contract. The purchase order had an additional term that the contract was not to be binding until Couch signed and returned the purchase order to plaintiff. Plaintiff alleges that the parties waived that provision by their conduct when Couch prepared and submitted drawings to plaintiff, who used them to gain the general contractor’s approval ofthe pumps. Plaintiff then alleges that:
“Couch refused to perform after its shop drawings were rejected for resubmittal [by the general contractor]. As a result of Couch’s part performance, it is estopped from denying the existence of a contract to supply [plaintiff] with [pumps] which would meet contract specifications.”
Plaintiff argues that under Article 2 of the Uniform Commercial Code (UCC), ORS chapter 72, which applies to the transaction between defendants and plaintiff because it involves the sale of goods, “the conduct of the parties * * * recognized the existence of a contract.” ORS 72.2040(1) provides:
“A contract for sale of goods may be made in any manner sufficient to show agreement, including conduct by both parties which recognizes the existence of such a contract.”
Defendants argue that plaintiff cannot “[seek] to enforce a written agreement by calling it a ‘contract implied in fact.’ ” (Emphasis in original.) If plaintiff had alleged the existence of a written contract, we would agree. However, *317plaintiff does not allege that a written contract exists. Instead, it alleges that the parties’ contract is “evidenced” by their conduct.
Defendants also argue that the parties’ conduct will not “support a contract implied in fact.”2 ORS 72.2040 specifically provides that a contract may be made by the parties’ conduct. ORS 72.2070(3) provides:
“Conduct by both parties which recognizes the existence of a contract is sufficient to establish a contract for sale although the writings of the parties do not otherwise establish a contract. In such case the terms of the particular contract consist of those terms on which the writings of the parties agree, together with any supplementary terms incorporated under any other provisions of the Uniform Commercial Code.”
Assuming the truth of plaintiff s allegations, Couch’s submission of plans to plaintiff, after Fowler’s modification of the written offer, gives rise to an inference that Couch agreed to supply pumps that would comply with contract specifications. We conclude that, under the UCC, plaintiff has alleged that the parties recognized a contract through their conduct, and that defendant breached that contract.3
Defendants contend that, even if there were a contract, it is unenforceable under ORS 72.2010, because there is no allegation that Couch signed the purchase order. ORS 72.2010(1) provides:
“Except as otherwise provided in this section a contract for the sale of goods for the price of $500 or more is not enforceable by way of action or defense unless there is some writing sufficient to indicate that a contract for sale has been made between the parties and signed by the party against whom enforcement is sought or by the authorized agent .or broker of the party. A writing is not insufficient because it omits or incorrectly states a term agreed upon but the *318contract is not enforceable under this subsection beyond the quantity of goods shown in such writing.”
ORCP 19B provides that “a party shall set forth affirmatively * * * [the] statute of frauds” in a responsive pleading. However, defendants have cited no authority, and we have found none, for the proposition that a plaintiff must affirmatively plead compliance with ORS 72.2010.
Finally, plaintiff assigns error to the dismissal of its third claim for relief, entitled “Breach of Guaranty.” The claim is against Fowler only, and alleges:
“On or about July 2, 1992, Fowler personally and not acting as an Agent for Couch, orally guaranteed to [plaintiff] that Fowler would see to it that the pumps which were to be supplied by Couch, would meet all of the contract specifications, notwithstanding the exceptions noted on Fowler’s offer, as agent for Couch. Further, Fowler guaranteed that the pumps would have no problems meeting the contract specifications.”
Plaintiff contends that the meaning of those allegations is that Fowler, acting in its own personal capacity and not as Couch’s agent, guaranteed that Couch would supply pumps that would meet the contract specifications. Plaintiff argues that Fowler’s oral guaranty is enforceable. Defendants argue that plaintiffs claim fails, because it “presupposes that there is a contractual obligation from Couch to plaintiff * *
A guarantor’s obligation under the guaranty depends on the existence of primary liability on the part of a third party. Sumner v. Enercon Development Company, 307 Or 579, 582, 771 P2d 619 (1989). Here, plaintiff alleges that Couch failed to provide pumps that would “meet all contract specifications.” Plaintiff then demanded that Fowler perform. Fowler refused.
Plaintiffs third claim for relief realleges facts from its first and second claims. However, plaintiff did not reallege the paragraph containing the allegation that Couch made a modified offer to supply conforming pumps. Plaintiffs third claim for relief realleges only a promise by Couch to supply pumps that specifically differed from the requirements of the contract. Therefore, Fowler’s duty as a guarantor of that promise was to provide those nonconforming pumps, in the *319event that Couch failed to do so. Fowler did not have a duty as guarantor to supply pumps that would meet all of the contract specifications. We conclude that plaintiffs third claim for relief fails to state a claim.
Judgment on plaintiffs first and second claims for relief reversed and remanded; otherwise affirmed.
Plaintiff does not allege why the drawings were not approved.
Defendants also make arguments based on the purchase order’s requirement that Couch assent to an additional term. That argument is based on an assumption that the purchase order was an offer. It was not. Plaintiff alleges that the purchase order was an acceptance, “codifying” the terms of Couch’s offer. See ORS 72.2070(2)(a).
We are not bound by plaintiffs erroneous characterization of its second claim as a claim for “breach of implied contract.” See, e.g., City of Ashland v. Hoffarth, supra, 84 Or App at 270.