When a buyer can’t accept an AWS Marketplace private offer, the error names what broke, and what broke decides who fixes it. A new offer is the right fix for only a few of them.
The buyer opens the link and sends back an error. The reflex is to cancel the offer and send another. That fixes a targeting mistake and little else. A second offer to an account that already holds a contract can hit the same error or, on a product with Concurrent Agreements, become a second contract. After a declined card, the original link works once the payment is fixed. Read the error first.
Which error is it, and who fixes it?
Each acceptance failure has one owner: the buyer, their AWS administrator, their finance team, or you. Route it there before anyone rebuilds anything.
| What you see | Likely cause | Owner | Fix |
|---|---|---|---|
| Page not found (404) on the offer link | Signed in to another AWS account, or opened the link before signing in | Buyer | Sign in to the account on the offer, then open the link |
| A 404, with the offer under Accepted and expired offers | It expired at 23:59:59 UTC on its expiry date | You | Extend the expiry; rebuild only if AWS refuses |
| A 404 on the right account, AMI product | A limited listing that hasn’t allow-listed the account | You (single AMI) or AWS’s Private Offer Success Team | Allow-list the account, once per product |
| A 404 on the right account, any product | The user lacks aws-marketplace:ViewSubscriptions | Buyer’s AWS administrator | Grant a Marketplace buyer policy |
| Product not available in their private catalog | Their private marketplace excludes it | Buyer’s private marketplace administrator | Add it to their allow list |
| ”You already have an active contract” | The account already holds an agreement for the product | You | Amend that agreement |
| Acceptance email, then at once a cancellation email | No permission to buy, a declined card or payment setup, or an unpaid AWS bill | Buyer’s administrator or finance team | Fix it, then accept the same offer again |
| Wrong account ID, or a buyer outside the offer’s countries | Targeting is fixed at release | You | Clone, correct, cancel the original |
A 404 that survives every row gets AWS’s browser checklist (sign out and back in, clear the cache and cookies, try another browser), then the Private Offer Success Team.
What does “You already have an active contract” mean?
The buyer’s account already holds an active subscription to the product, and the product allows only one. That is AWS’s rule for SaaS contract and contract-with-consumption products, so a second offer to the same account meets the same wall.
An agreement-based offer is a private offer built on the existing agreement that replaces it when the buyer accepts. In Suger, open the buyer’s entitlement and choose Upsell / Renew. AWS says to “include any pending payment terms from the original offer in the agreement-based offer, as it will override remaining payments not yet invoiced”; if the buyer lets it expire, “the original agreement will continue unchanged.” On a channel partner deal, the partner builds it from a new selling authorization you grant. What an amendment replaces, and what it can’t change covers the pricing.
Other product types take other routes:
- AMI hourly and annual: a new offer overrides the old terms on acceptance, but “pending charges from the previous offer’s payment schedule will continue unless cancelled.”
- AMI contracts: cancel the current subscription first, through AWS’s refund and cancellation form. For SaaS, that form is the heavier alternative to amending.
- Professional services: AWS’s FAQ still says cancel first, but AWS switched on Concurrent Agreements for every Professional Services listing on February 26, 2026. Ask AWS before cancelling anything.
Concurrent Agreements is AWS’s option for one buyer account to hold several active agreements for the same product: the default for SaaS listings created after June 1, 2026, and opt-in for older ones. Buyers there “can accept multiple offers for the same product without disrupting existing agreements,” so the error should not appear, and a second offer sits beside the first rather than replacing it. If the deal is a replacement, amend.
Can you extend an expired private offer?
Usually, yes. AWS lets you update an expired offer’s expiration date, which returns it to Active. In Suger, More actions → Extend Expiry Date works on Pending_Acceptance, Expired and Update_Failed offers, with a new date later than the current one.
The payment schedule is the limit. Only one charge date may fall on or before the expiration, and a released offer takes a new expiration only if it still fits the schedule, so an extension past a second installment date is refused.
Suger shows the refusal on the offer: the status Update_Failed, an Update Offer Failed alert quoting AWS’s reason, and a Why AWS rejected this panel under More actions → History (and on the Offers page’s Logs tab) with AWS’s error code and message and up to three recent attempts. The fix is then a new offer, with the installments moved so no more than one falls on or before the new expiry.
When does a new offer actually fix it?
When the offer was aimed at the wrong target. AWS’s Catalog API refuses to add a buyer after release: “BuyerAccounts can’t be added after the offer is released.” Country targeting is the quieter version: a buyer outside the offer’s selected countries cannot accept, and a linked account is judged by its own location, not the payer account’s.
Clone it. AWS’s clone flow offers Cancel the existing offer, which expires the original when the clone publishes without touching an accepted agreement. In Suger, More actions → Clone copies the product, SKUs and pricing, term dates, EULA and internal notes into a draft; correct the buyer ID and dates, send it, and cancel the original.
Check the carried-over dates. A past installment date is refused with “Provide a first charge date that isn’t in the past,” which through Suger reads “Failed to create offer: Offer PaymentTerms.Schedule.ChargeOn is not valid.” A failed clone sits in Create_Failed with Edit and Submit still available, so fix and resubmit that draft. Diagnosing offers that fail to create covers that side.
Why does an accepted offer get cancelled straight away?
An acceptance email followed at once by a cancellation email means the purchase failed on the buyer’s side. Suger’s FAQ names three causes: the person accepting lacks permission to complete the transaction, the card was declined or the account isn’t set up for payment, or the buyer hasn’t paid their latest AWS bill.
The first two are likelier than they sound. AWSMarketplaceRead-only lets a user view private offers; subscribing takes a policy such as AWSMarketplaceManageSubscriptions. And a typical private offer is paid in full at acceptance unless financed, which is the kind of large charge card issuers often reject as possible fraud. Ask early whether the buyer pays AWS by invoice or by card.
Suger flags it with a purchase_failed sub-status: accepted, with the entitlements cancelled shortly after creation. No new offer is needed: once the cause is fixed, the buyer accepts the same offer from the same link.
Frequently asked questions
Why does my buyer get a 404 on an AWS private offer link?
Usually they opened the link while signed in to another AWS account, or before signing in. Otherwise the offer expired, an AMI limited listing has not allow-listed their account, or the user cannot view private offers.
What does the active contract error on an AWS private offer mean?
The account already holds an active subscription to a product that allows only one. Amend that agreement with an agreement-based offer carrying its pending payments. A new offer to the same account gets the same error.
Can a buyer accept the same AWS private offer again after a failed payment?
Yes. Suger documentation says the buyer can accept the same offer again, from the same link, once the permission, card, payment setup or unpaid AWS bill is fixed. No new offer is needed.
Why was my AWS private offer expiry extension rejected?
Only one charge date may fall on or before the expiry, and a released offer takes a new expiry only if it fits the payment schedule. Past a second installment date, build a new offer instead.
Can I change the buyer account ID on a released AWS private offer?
No. AWS does not allow buyer accounts to be added or removed once an offer is released. Clone it, correct the account ID and any past installment dates, and cancel the original.
Takeaways
- Read the error first; each one has a single owner, and a 404 is usually the buyer’s sign-in.
- When the account already holds a contract, amend it and carry the pending payments. Don’t re-send.
- Extend an expired offer before rebuilding it; the payment schedule decides whether you can.
- Clone for a wrong account or country, and check the dates the clone copies.
The buyer’s half of the flow, from who signs in to who approves the spend, is in what buyers see when you send a private offer. Suger’s private offer management keeps each offer’s status, history and AWS’s rejection reasons on the offer itself, the first place to look when a buyer says the link doesn’t work.
Sources
Primary sources for the platform rules cited above. Last verified September 19, 2026. Cloud providers change fees, eligibility, and program terms without notice — check the source before relying on a figure.
- AWS Marketplace Seller Guide: Private offer FAQ — The 404 causes and resolutions, the active-contract error and the route for each product type, agreement-based offers for direct and channel partner deals, and the cancellation form
- AWS Marketplace Seller Guide: Creating and managing private offers — Geo-targeting and the linked-account location rule, the 23:59:59 UTC expiry, updating an expired offer back to Active, and cloning with Cancel the existing offer
- AWS Marketplace Seller Guide: Amending agreements in AWS Marketplace — An amendment the buyer does not accept leaves the original agreement unchanged
- AWS Marketplace: Work with private offers using the AWS Marketplace APIs — Buyer accounts cannot be added or removed after release, one charge date on or before the expiration, expiry changes bounded by the payment schedule, and the past-charge-date error
- AWS Marketplace Buyer Guide: Troubleshooting private offers — The buyer-side 404 checklist, the aws-marketplace:ViewSubscriptions permission, and the browser steps before contacting AWS
- AWS Marketplace Buyer Guide: Viewing and subscribing to a private offer — Following the offer link before signing in to the correct account returns Page not found (404)
- AWS Marketplace Buyer Guide: Preparing to accept a private offer — A typical private offer is paid in full at acceptance unless financed, so the payment method must cover the entire cost
- AWS Marketplace Buyer Guide: AWS managed policies for AWS Marketplace buyers — AWSMarketplaceRead-only views private offers; AWSMarketplaceManageSubscriptions can view and subscribe
- AWS What's New: AWS Marketplace now supports multiple purchases of SaaS & Professional Services products from the same account — Posted February 26, 2026, and effective that day for every Professional Services listing; SaaS listings need the integration first
- AWS Marketplace Blog: Complete guide to upgrading your SaaS product to AWS Marketplace Concurrent Agreements — SaaS listings created after June 1, 2026 have Concurrent Agreements by default; older SaaS listings must opt in
- Suger docs: Create Private Offer — Update_Failed, the Update Offer Failed alert, the Why AWS rejected this panel in History and Logs, and Create_Failed keeping Edit and Submit
- Suger docs: Private Offers — Extend Expiry Date and the statuses it works in, and what Clone copies into the new draft
- Suger docs: FAQ — The three causes of an acceptance followed by a cancellation, re-accepting the same offer, the ChargeOn error, and correcting a wrong account ID
- Suger docs: Accept Private Offer — The purchase_failed sub-status and when it clears
- Suger docs: Amend or Cancel an Entitlement — Upsell / Renew on the entitlement creates the agreement-based offer
Keep reading
Stay Updated
Get the latest Cloud GTM insights, product updates, and marketplace strategies delivered to your inbox.