What a Pricing Page Leaves Unsaid
Copying the advertised price is easy. Deciding whether that number represents the configuration the buyer actually needs is where procurement gets messy.
Agentic commerce is moving beyond discovery toward comparison and purchase. OpenAI has expanded the Agentic Commerce Protocol into product discovery, and Stripe describes machine buyers that expect current, structured seller data. As those systems get better at finding prices, sellers gain a new problem: retrieval errors shrink while composition errors become more consequential.
A public number rarely describes the entire qualified deal
Imagine a SaaS company that publishes a $499 monthly Team plan. On the same commercial surface, Enterprise is custom priced, annual billing changes the economics, usage above a threshold incurs additional charges, premium support costs extra, and certain security or compliance features require a different plan or add-on.
None of that makes the $499 figure misleading. It simply means the figure describes the Team base price under stated conditions rather than the total cost of every configuration a buyer might assemble.
What the salesperson usually reconstructs
During a human sales conversation, missing context tends to surface naturally. Someone asks how many seats are needed, what usage looks like, whether premium support is required, which compliance controls matter, and whether the buyer is working under public or negotiated terms. A machine comparing ten vendors under a fixed budget may instead treat the first visible number as the number that belongs in the comparison.
That is how $499/month can be quoted accurately and still produce the wrong ranking.
Base price and total qualified cost answer different questions
What does this plan start at under the stated billing period?
What will this buyer pay for the plan, quantity, usage, support, region, add-ons, and contract state required by the specification?
Sometimes those figures are identical. Often they are not, and the difference may be completely legitimate.
The labels that keep a price from drifting
To use a public price safely, a buyer may need to preserve more context than the number itself:
- product and plan — which edition owns the price;
- billing period — monthly, annual, prepaid, or committed spend;
- quantity — seats, users, endpoints, environments, or units;
- meter — requests, tokens, data, compute, messages, or another unit;
- usage band — included allowance, threshold, overage, or volume tier;
- add-ons — support, security, compliance, analytics, or premium features;
- region or deployment — geography, cloud, dedicated deployment, or residency;
- contract state — public terms or a negotiated order form;
- customer segment — startup, nonprofit, education, enterprise, or channel;
- effective date — which generation of pricing governs the buyer.
When one of those dimensions is material and disappears, the buying system has to invent an assumption or stop. The safer behavior is usually to stop.
“Starting at” should trigger another question
People understand the phrase intuitively. It signals that a configuration still has to be built before total cost is known. Procurement software needs an equally explicit response: preserve the published base price, mark the missing commercial dimensions, and delay ranking until the required configuration is clear.
Structured pricing helps only if the structure is rich enough
Catalogs and APIs reduce extraction mistakes, which is valuable. Stripe's agentic-commerce guidance emphasizes structured data, and ACP is designed to let merchants expose purchase capabilities while keeping control of their commercial systems. Still, a field such as price = 499 carries almost none of the context a procurement decision may require.
A more useful record might preserve plan_id = team, billing_period = monthly, the included usage, whether premium support is excluded, and the fact that Enterprise terms are not represented by the same price. The schema can vary; the boundary cannot disappear.
Where comparisons become unfair
Suppose Vendor A publishes a $900 configuration that clearly includes the buyer's required support and security state. Vendor B advertises a $499 base plan, while the support and security pieces needed for qualification live somewhere else in its commercial model. A simple price comparison makes Vendor B look dramatically cheaper even though the machine is not comparing equivalent configurations.
No hallucinated price is required. The mistake comes from incomplete composition.
Seller approval still matters after the price is known
ACP is deliberately merchant-controlled: the seller remains merchant of record and decides whether to accept or decline an order. In B2B transactions, that principle matters because discounts, support, entitlements, usage commitments, and custom terms may require approval that no public price can encode.
A buyer may be authorized to purchase while the seller is still not authorized to generate every concession or commercial state the buyer requests. Some questions can be answered automatically; others need a quote or a human.
What sellers can make explicit now
- Keep plan names attached to prices and entitlements.
- Separate base price from usage, add-ons, and premium support.
- State billing periods and commitment assumptions plainly.
- Separate public pricing from negotiated terms.
- Do not let a compliance capability imply its required add-on is included.
- Make “unknown from public evidence” an acceptable answer.
- Test buyer questions that combine qualification with total cost.
The useful pricing question is larger than “What number did the agent find?”
As discovery and checkout become more automated, sellers will need machine-readable applicability as much as machine-readable price. Otherwise better retrieval simply makes an under-scoped number look more authoritative.
Test how your public pricing gets assembled
VendorAgent's $250 AI Buyer Failure Scan runs 10 public-information buying scenarios against one B2B SaaS/API product, including pricing composition when it affects qualification or total cost.
Request a Failure Scan