Private Offers

View, share, and manage your private offers across AWS, Azure, and GCP from the Offers page in Fours Console.


Overview

The Offers page in Fours Console is your central place for tracking and managing every private offer you send. From here you can monitor pipeline health, find specific deals, take actions on an offer (cancel, clone, extend, share, notify contacts, download EULA), link many offers to Salesforce records at once, and track offer statuses across all three cloud marketplaces.

After a private offer is sent, AWS does not allow you to edit it. Instead, you manage the offer through the actions on this page: cancel it, clone it into a corrected version, extend its expiry date, notify additional contacts, or download the EULA. To manage any offer, open the Offers section in the Fours Console and select the offer you want to work with. Most actions live in the More actions menu on the offer detail page. Each of these actions is also available from the Salesforce App — see Manage Offers in the Salesforce App.

Quick pipeline view

At the top of the Offers page, a set of summary cards shows the current state of your deal pipeline. These cards update automatically based on the latest status from AWS, Azure, and GCP, giving you a quick snapshot of both pipeline health and revenue performance in one place.

Quick pipeline view in the Offers page

  • Newly accepted offers — offers recently accepted by the buyer. Use this to confirm which deals have just closed and are ready for handoff to implementation or customer success.
  • Total revenue — the total revenue value from your deals in the system (in USD). For deeper breakdowns like invoiced, collectible, or disbursed amounts, use the Revenue or Home dashboards.
  • Pending acceptance — offers that have been sent but are still waiting for buyer action. Use this to quickly identify deals that may need follow-up before they expire.
  • Recently expired — offers that were not accepted before their expiration date. Use this to spot stalled deals that may need to be reissued or extended.

Tabs on the Offers page

The Offers page has four tabs below its title. Offer and Offer Set are two ways to view your pipeline, depending on how your deals are structured. Logs shows the background operations behind your offers. Settings holds your private offer settings and appears only for seller, reseller, and partner organizations.

Offer tab

This is your main view for managing offers. It shows each individual private offer across AWS, Azure, and GCP.

Offer tab in the Fours Console

From here, you can:

  • Track standard, single-offer deals
  • Check offer status and progress
  • Search or filter across all cloud providers

Offer Set tab (AWS only)

This view groups multiple AWS offers into a single bundle (up to 10 offers). It’s used only for AWS Marketplace deals that involve multiple products being sold together.

Offer Set tab in the Fours Console

Use this view when:

  • You are selling a multi-product solution in AWS
  • You want to bundle multiple offers into one buyer flow
  • You need to manage AWS offer sets instead of individual offers

See Create an AWS Marketplace offer set below.

Logs tab

The Logs tab lists the operations Fours runs in the background on your offers. These include creating, canceling, and extending offers, syncing them, creating offer sets, and bulk linking.

  • Row contents: each row shows the operation’s ID, Status, Workflow Type, offer Type, Provider, and Timestamp.
  • Narrow the list: use the Provider, Workflow Type, Status, and Offer Type filters or the search box.
  • Download: click Export CSV to download the rows you see.

Settings tab

Seller, reseller, and partner organizations also have a Settings tab, last in the row. It holds the private offer settings that used to be under Settings › Private Offer; an old link to that location now opens this tab. The settings are split into three sub-tabs:

  • CRM — the Salesforce, HubSpot, and Dynamics 365 settings that fill in offers created from your CRM.
  • Products — the list products filter, product and dimension tagging, and dimension sync.
  • Defaults — the default values for new offers.

For what each setting does, see Private Offer Field Mapping.

Find the right offer

When you have a large number of offers, use search and filters to quickly locate specific deals without scrolling through the full list.

Use the search bar to quickly find a specific offer by name, buyer, or Offer ID. This is the fastest way to jump directly to a single deal when you already know what you’re looking for.

Search in the Offers page

Filters

Use filters when you want to narrow down your pipeline instead of finding one specific deal. For example, view all offers in Pending_Acceptance, or filter by AWS vs. Azure vs. GCP.

Filters in the Offers page

Columns

Customize the table columns to control what information you see in the Offers list, so you can tailor the view to what matters most without cluttering the table.

Columns in the Offers page

Click the Columns button to add fields you want to see or remove fields you don’t need. Your changes affect only your view, not other users.

Cancel an offer

Canceling an offer withdraws it before the buyer accepts it. Use this when an offer has incorrect details or is no longer needed. AWS does not allow editing an offer once it has been sent to the buyer, so canceling lets you remove the incorrect offer and start fresh.

  1. Go to the Offers page in Fours Console.
  2. Open the offer you want to cancel, then click Cancel in the top-right corner. Cancel an offer in the Fours Console
  3. Confirm the action.

Once cancelled, the buyer can no longer see the offer in their AWS portal. The status moves to Pending_Cancel while Fours processes the request, then becomes Canceled once AWS confirms it. No charges or entitlements are activated.

Canceling a private offer in the Fours Console

When to cancel

  • The buyer requested changes after the offer was sent.
  • The offer contains incorrect information (for example, wrong AWS Account ID, pricing, or term).
  • The offer was misconfigured (for example, wrong pricing or the wrong product was selected).

After canceling, you can clone the canceled offer to quickly recreate a corrected version using the same structure.

Clone an offer

Cloning copies an existing offer into a new draft so you don’t have to rebuild it from scratch. This works for both active and canceled offers.

  1. Go to the Offers page in Fours Console.
  2. Open the offer you want to clone.
  3. Click More actions, then select Clone Offer. Clone an offer in the Fours Console
  4. Make your updates to the pre-filled offer draft. Fields marked with an asterisk (*) are required.
  5. Click Create offer to submit the new offer.

Create offer stays greyed out while a required field is empty or a value isn’t valid. To see what’s left, hover over the button, or press Tab until it has focus. Its tooltip, headed Please complete:, lists each step that still needs work and the fields in it — for example, Step 2 Offer terms — Expiry Date — with the reason beside any value that isn’t valid.

Cloning a private offer in the Fours Console

When to clone

  • You’re sending a similar offer to a different buyer.
  • You canceled an offer and want to reuse its structure.
  • You need to make small adjustments, such as pricing or term changes.

What gets copied

  • Product
  • SKUs and pricing
  • Term dates
  • EULA
  • Internal notes

What to update before resubmitting

  • Buyer ID(s)
  • Offer name
  • Any updated pricing or expiration dates

Extend the expiry date of an offer

Extending an offer pushes back the expiration date so the buyer has more time to review and accept it. This saves you from recreating the offer if the deadline passes before the buyer responds.

You can extend offers in the Pending_Acceptance, Expired, and Update_Failed statuses. Extending an expired offer reactivates it so the buyer can access and accept it again. Update_Failed is included so that a failed extend can be retried — if an extend request fails, the offer is left in Update_Failed and the Extend Expiry Date action reappears so you can try again.

When the marketplace rejects an update such as an extension, the offer page shows an Update Offer Failed alert with the marketplace’s reason. Azure offers don’t show this alert.

For AWS offers, More actions → History shows a Why AWS rejected this panel under the failed entry, with AWS’s error code and message and the latest attempts (up to three) with their change set IDs. The same panel appears on the Logs tab of the Offers page.

  1. Go to the Offers page in Fours Console.
  2. Open the offer you want to extend.
  3. Click More actions, then select Extend Expiry Date. Extend Expiry Date action in the Fours Console
  4. Enter the New Expiry Date, then Save your changes. The new date must be in the future and later than the offer’s current expiry date — the same date or an earlier one isn’t an extension. Set a new expiry date

Extending a private offer expiry date in the Fours Console

When to extend

  • The buyer hasn’t accepted the offer and the expiry date is approaching.
  • You’re in ongoing negotiations but need more time.

Share the offer with your buyer

Once your offer is ready, you have two ways to get it to your buyer: copy the link yourself or trigger an email directly from Fours. Use whichever fits your workflow.

Share the offer URL

Manually copy the offer link and send it to your buyer through your own email or messaging tool.

  1. Go to the Offers page in Fours Console.
  2. Open the offer and wait for the status to show Pending Acceptance.
  3. Click Copy Offer URL in the top-right corner. Copy Offer URL button in the Fours Console
  4. Send the link to your buyer.

Notify contacts

The Notify Contacts feature sends an email with the offer link and current status directly to people linked to the offer. Use this to keep buyers and internal stakeholders informed without sending emails manually outside of Fours.

  1. Go to the Offers page in Fours Console.
  2. Open the relevant offer.
  3. Click More actions, then select Notify Contacts. Notify Contacts action in the Fours Console
  4. If the person you need to notify isn’t listed yet, add them first using Add Existing Contacts or Create New Contact. Add a contact to notify
  5. Click Notify next to a specific contact, or click Notify All Contacts to send to everyone on the list at once. Notify a contact or all contacts
  6. Check the Notification Events section at the bottom. Notification Events section
    • It lists every Notify Contacts request and the contacts it was addressed to, including requests your email settings then stopped from sending.
    • Contacts notified together share one email, so an open shows against the first contact listed.
    • Emails Fours sends automatically, such as the ready-to-accept email, aren’t listed here.

Notifying contacts about a private offer in the Fours Console

When to use Notify Contacts

  • To remind a buyer that a private offer is pending acceptance.
  • To alert internal stakeholders that an offer has been created, extended, or canceled.
  • To follow up during negotiations or renewal discussions.

Download EULA

The EULA action downloads a PDF copy of the End User License Agreement (EULA) attached to a private offer. Depending on the offer setup, Fours downloads either the custom EULA (the exact file uploaded for that offer) or the standard marketplace contract (the default agreement provided by the marketplace).

The EULA action appears only when Fours has a EULA recorded for the offer. An offer with none shows no EULA action — for example, a Google Cloud Professional Services offer that carries only a statement of work.

  1. Go to the Offers page in Fours Console.
  2. Open the relevant offer.
  3. Click More actions, then select EULA. This opens the EULA in a new browser tab. EULA action in the More actions menu of an offer in the Fours Console
  4. Click the Download icon on the page. Download icon on the EULA page

Fours looks up the document each time you click EULA. If it no longer has a working copy of an AWS offer’s document, it tries to recover one first — from AWS Marketplace or, for a CPPO, from the resale authorization the CPPO is linked to.

  • If your browser blocks the new tab, the console shows Allow popups, then try downloading the EULA again. Allow pop-ups for the Fours Console and click EULA again.
  • If the document can’t be retrieved, the new tab closes and the console shows the reason Fours returned, or Unable to download EULA. Please try again. when there is no reason to show.

Google Cloud offers. This applies when the GCP integration’s Enable PrivateOffer API setting is on, so that Fours syncs offers through Google’s API — including offers created in Producer Portal.

  • What Fours records: the documents attached to the offer there — its EULA (the standard one or a custom PDF) and, for a Professional Services offer, its statement of work.
  • Recorded once: a document you later replace in Producer Portal isn’t picked up.
  • Older offers: the regular sync reads only offers Google changed in the last 7 days, so an older offer gets its documents on the next full import — see About Enable PrivateOffer API.
  • After that: EULA downloads the document, and an offer you clone or amend in Fours carries the documents over.

Downloading the EULA from a private offer in the Fours Console

When you might need it

  • To review the terms included in the offer.
  • To share the EULA with the buyer outside of AWS.
  • To keep a copy for internal record-keeping or legal review.

Review an offer’s history

The Offer History panel lists the events Fours has recorded about an offer, newest first — up to the latest 1,000.

  1. Go to the Offers page in Fours Console.
  2. Open the offer.
  3. Click More actions, then select History.

Each entry shows when it happened and what happened, followed — where Fours recorded them — by:

  • By: — who made the change. It is left off an offer acceptance, because the buyer who accepted isn’t a member of your organization.
  • Source: — where the change came from: User, Salesforce, HubSpot, API client, Fours AI, or Fours backend. See what each one means under Products → History. Entries recorded before Fours began tracking the source have no Source: line.

When you submit, cancel, or extend an AWS, Azure, Oracle, or Snowflake offer from the console, the status changes Fours records while it carries that out — starting with Pending_Create for a new offer — name you on the By: line, with Source: User. Google Cloud offers work the same way when the GCP integration’s Enable PrivateOffer API setting is on: creating, cancelling or extending an offer through that API names you on the entries Fours records. Offers that take the browser-driven path instead — reseller authorizations included — still record these changes without a name, and entries recorded before Fours began naming the user are not backfilled. Entries nobody on your team caused, such as the offer expiring, show Source: Fours backend and no By: line. For an AWS example, see See who made each change.

A failed AWS change also carries the Why AWS rejected this panel described under Extend the expiry date of an offer.

Bulk link connects many private offers to Salesforce records in one pass, from a CSV file. It is a one-time import, separate from the Custom Backfill Line setting, which links offers created in the Salesforce app to the record they came from.

  1. Pick a lookup field on the Salesforce Offer object (Suger__Offer__c).
  2. Download a template of the offers whose lookup is still empty.
  3. Add a Salesforce record ID to each row and upload the file.
  4. Fours checks every row against your offers and against Salesforce, and shows you the outcome before anything is written.

Before you start

  • A verified Salesforce integration. The Bulk link button appears on the Offer tab only when your organization’s Salesforce integration is connected and verified. See Salesforce.
  • The offer.edit permission. The Admin and Editor roles include it, and a custom role can grant it — see Account. The button shows whatever your role. Without the permission, Preview changes is refused with You don’t have the required permission to call this API.
  • Check what reacts to Offer record changes. Linking changes each offer’s Salesforce Offer record. That can trigger Salesforce flows or Fours workflows that react to it, such as email notifications, so confirm none depend on it before you run it.

Step 1: Choose the lookup and download the template

  1. On the Offers page, stay on the Offer tab and click Bulk link. The Bulk link offers to Salesforce dialog opens on its first step, Upload.
  2. Under Backfill into lookup, pick the lookup on Suger__Offer__c that the record IDs belong in. That one choice decides which offers the template lists, which Salesforce object every ID is checked against, and where each link is written.
    • Suger__Opportunity__c is selected by default.
    • Only lookup fields are listed.
    • Suger__Buyer__c and Suger__Product__c can’t be picked, because they point at Fours records rather than CRM records.
    • Suger__Created_By__c can’t be picked, because it is rewritten on every sync.
    • You also can’t pick a lookup that the Salesforce user Fours connects as isn’t allowed to edit.
    • Suger__Account__c can be picked, but the Fours Salesforce app derives it from the Opportunity and may overwrite what you write.
    • Just created a lookup in Salesforce? Click Refresh schema to reload the list.
  3. Click Download template. Fours reads Salesforce and downloads a CSV of every offer whose chosen lookup is still empty there. Public and free-trial offers are left out, because they belong to no one customer. If more than 10,000 offers are unlinked, the template holds the first 10,000 — import those, then download it again.

Step 2: Fill in the file and upload it

The template has five columns. You fill in only crmRecordId:

ColumnFilled byWhat it holds
marketplaceTemplateThe cloud marketplace the offer is on, such as AWS. For reference only; the upload ignores it.
marketplaceOfferIdTemplateThe offer’s ID in the marketplace, to help you find it. For reference only; the upload ignores it.
sugerOfferIdTemplateThe Fours offer ID — the column that decides which offer a row links. Don’t edit it.
crmTypeTemplateSALESFORCE, the only accepted value.
crmRecordIdYouThe Salesforce record ID to link, 15 or 18 characters, from the object the lookup points at. Leave it blank to skip the offer.
  1. Fill in crmRecordId for each offer you want to link and save the file as CSV, keeping the sugerOfferId, crmType, and crmRecordId columns. A file can hold up to 10,000 rows — split a larger one.
  2. Drop the file on the dialog, or click Choose file….
  3. Under Options, decide on Backfill to CRM right away. It is on by default: each linked offer is written to its Salesforce Offer record as soon as the import finishes. Turn it off to save the links in Fours only; they then wait for the scheduled sync, which carries only recently created offers.
  4. Click Preview changes. The preview checks every row against Fours and Salesforce and writes nothing.

Step 3: Review the preview

The preview gives each row one of six outcomes. The table lists rows that will write first, then errors, then rows that change nothing. It shows the first 200 rows; the tiles and the error report cover every row.

OutcomeWhat it means
Will linkThe row will link the offer to the record.
Will overwriteThe offer is linked to a different record, and Overwrite existing linkage is on. The row replaces that link.
Already linkedSalesforce already holds this record in the lookup. The row is skipped.
Skipped · has a different linkThe offer is already linked to a different record. It keeps that link.
Skipped · blankThe row has no record ID.
ErrorThe row can’t be linked. The Detail column says why and how to fix it.

Four tiles above the table count the rows:

  • Will link and Will overwrite count the rows with those outcomes.
  • Skipped counts the Already linked, Skipped · has a different link, and Skipped · blank rows together.
  • Errors counts the rows that can’t be linked.

Below the tiles:

  • Overwrite existing linkage appears when some rows are skipped for having a different link. Turn it on to re-link those offers to the records in your file, and the preview runs again.
  • Download error report saves a CSV with one line per error row: the row number, sugerOfferId, crmRecordId, the error, and how to fix it.
  • Record IDs are checked against Salesforce and stored in the 18-character form, so a 15-character ID copied from a spreadsheet matches the 18-character form of the same ID.

An Error row has one of these reasons:

ReasonHow to fix it
The sugerOfferId column is empty.Use the sugerOfferId values from the template.
The offer appears on another row too.Keep one row per offer.
The value isn’t a Salesforce record ID.Use the 15- or 18-character ID, not the record name or number.
The ID belongs to a record of a different object than the lookup points at.Copy the ID from a record of the right object.
The crmType isn’t supported.Use SALESFORCE.
No offer with that ID exists in your organization.Use the sugerOfferId values from the template, unedited.
The offer is a public offer.Remove the row. Only private offers can be linked to one customer’s record.
The record isn’t found in Salesforce.Confirm the ID in Salesforce. Deleted or merged records can’t be linked.

Rows with errors are left out when you link. Fix them and upload the file again, or link the valid rows now.

  1. Click Link N offers, where N counts the Will link and Will overwrite rows. The button is disabled when no row would write.
  2. Fours checks every row against Salesforce again and starts the job. The dialog moves to Commit and shows Linked, Skipped, and Failed tiles. It adds Salesforce sync queued when Backfill to CRM right away is on, plus a result for each row being linked.
  3. Click Done. The job carries on if you close the dialog.
  • One job at a time. Your organization can run one bulk link job at a time. Starting another while one is running is refused until the first finishes.
  • A job that stops part-way. The dialog says how many rows weren’t processed. Run the import again to finish them.

Follow the job in Logs

Each bulk link job appears on the Logs tab. Set Workflow Type to Bulk link and leave Provider at All. A bulk link job isn’t tied to one cloud, so it doesn’t show under a single provider.

Create an AWS Marketplace offer set

An offer set groups multiple AWS private offers (up to 10) into a single bundle that the buyer accepts in one checkout flow. Use it when you’re selling a multi-product solution in AWS Marketplace.

Prerequisites

Make sure the following are in place before creating an offer set.

AWS Marketplace

  • Active AWS Marketplace seller account with a published seller profile. See Register and create your seller profile.
  • At least one active public listing. You must have a published product before you can create private offers to include in an offer set.

Fours

  • Admin access to the Fours Console. If you don’t have access yet, ask your company admin to invite you to the organization. See Manage Users and Roles.

Offer alignment

AWS enforces the following rules across all offers in a set. Mismatches block you from publishing. Before you start building, confirm that every offer you plan to include will share:

  • The same currency
  • The same buyer AWS account ID
  • The same expiration date

Supported offer types

Only the following offer types can be included in an offer set:

Offer typeSupported in offer sets?Description
Marketplace Private Offer (MPPO)✅ YesDirect private offers created by the product owner (ISV) for the buyer
Channel Partner Private Offer (CPPO)✅ YesPrivate offers extended by an authorized channel partner using a resale authorization
Standard Private Offer features✅ YesIncludes flexible payment schedules and local currency support
Public & Trial offers❌ NoStandard public listings and promotional free trials can’t be bundled
Replacement offers (amendments)❌ NoAgreement-based offers meant to renew or upsell an existing active entitlement

Step 1: Set up offer set details (container)

Start by filling out the container details in order:

  1. Go to the Fours Console, then Offer.
  2. Click the Offer Set tab in the upper-left corner, then + New Offer Set.
  3. Enter the Offer set name. Use something that helps you and the buyer identify the deal easily.
  4. Add a Customer note — context for the buyer or internal team.
  5. Select or enter the Buyer(s) AWS account ID.
  6. Set the Expiry Date for when the buyer can accept the offer set. Every individual offer you add later must share this exact same expiration date.
  7. (Optional) Use the Solution associate field if you already have a related AWS solution listing and want to connect them. A solution is a Marketplace page that explains how multiple products work together; linking it gives buyers additional context and documentation during the purchase flow.

Step 2: Add private offers to the offer set

Attach the actual private offers inside the offer set container. You must add at least 2 offers and up to 10 offers per offer set.

  1. Click + Create private offer to add your first offer.
  2. Choose the Product you want to include. Each offer in the set must target a different product ID — you can’t include the same product twice in one offer set.
  3. Fill in the Basic information section.
  4. Set up the Offer terms.
  5. Add the Pricing information.
  6. Attach the End User License Agreement (EULA) for this product.
  7. Once everything is correct, click Add.

Fields marked with an asterisk (*) are required. Add stays greyed out until every required field is filled in and every value is valid. It has no tooltip listing what’s missing, so check the steps beside the form: a finished step shows a green check mark, and an unfinished one still shows its number.

Repeat until you have added all required offers. Once the set holds 10 offers, + Create private offer is disabled and the page shows Maximum 10 offers allowed per offer set.

Step 3: Review and publish the offer set

  1. Check everything you configured. Make sure:
    • All offers are included correctly.
    • Every offer targets the same buyer AWS account.
    • All offers use the same currency.
    • All offers share the same expiration date.
    • Each offer has a different product ID.
    • Pricing, terms, and EULAs are correct.
  2. Click Create offer set to publish.

Step 4: What happens after you publish

  • Buyer notification (automatic). After you click Create offer set, AWS Marketplace automatically sends the buyer a single email — this replaces individual private offer emails. The email includes the Offer Set ID, expiry date, the list of included products, and one link to review and accept the full offer set.
  • Separate agreements (after acceptance). Once the buyer accepts the offer set, each product becomes its own separate agreement, so you can manage renewals, changes, or cancellations per product independently.
  • Invoicing and payments. Even though the buyer completes one checkout flow, billing is split per product. The buyer receives separate invoices for each product based on its own terms and agreement.

Track offer statuses

Status labels in Fours may differ slightly from what you see in the native AWS, Azure, or GCP consoles. Where this applies, the difference is called out below.

Fours Console / CRM status reference

Use the table below to interpret the offer statuses shown in the Fours Console or your CRM.

StatusMeaning
Pending_CreateThe offer is being submitted to AWS.
Create_SuccessAWS has accepted the offer, but it hasn’t been made visible to the buyer yet.
Pending_AcceptanceThe offer has been successfully pushed to AWS and is waiting for the buyer to accept it.
AcceptedThe buyer has accepted the offer. An entitlement is created automatically.
Pending_CancelThe offer cancellation request has been submitted but not yet confirmed by AWS.
CanceledThe offer has been successfully canceled. It is no longer visible to the buyer.
ExpiredThe buyer did not accept the offer before the expiry date. The offer is no longer valid.
ActiveThe offer originated from a public purchase via the Marketplace.

Three statuses mean the offer never reached the marketplace, and all three stay editable — open the offer, correct it, and resubmit rather than starting again:

StatusMeaning
DraftSaved in Fours and never submitted.
Create_FailedFours couldn’t create the offer — for example, the marketplace refused it, or, for a Google Cloud offer, Fours’ own pre-flight checks refused it before anything was sent.
InvalidFours’ own pre-flight checks refused it, so nothing was sent to the marketplace. Fours no longer sets this status, so you’ll only see it on older offers; a Google Cloud offer that the pre-flight checks refuse now lands in Create_Failed.

The offer page explains the failure in a Create Offer Failed alert. It shows the latest reason — in plain language where Fours can rewrite the marketplace’s error, word for word otherwise — and, when the offer has failed before, a Show n earlier attempts link that lists the previous reasons.

AWS Marketplace offer statuses

AWS private offers follow a straightforward lifecycle: Draft → Active → Accepted. If the buyer doesn’t act in time, the offer moves to Expired instead.

StatusWhat it meansWhat to do
DraftThe offer is incomplete.Finish filling in all required fields, then publish to send it to the buyer.
ActiveThe offer has been published and is available to the buyer.Share the offer link with the buyer if you haven’t already. See Share the offer with your buyer.
AcceptedThe buyer subscribed and an agreement (entitlement) has been created.Go to the Entitlement menu in the Fours Console to track the deal going forward.
ExpiredThe offer reached its deadline before the buyer accepted.Extend the expiration date or create a new offer.
Pending CancelThe buyer requested to cancel their subscription. This status applies to public offers and usually lasts about one hour.No immediate action needed. Wait for the status to move to Cancelled.
CancelledThe agreement was cancelled, either by the buyer or the seller.If the cancellation was unintended, contact AWS support. To continue the deal, create a new private offer.

Source: AWS Marketplace Seller Guide – Creating and managing private offers

Key things to know about AWS offers

  • Private offers renew automatically only if they carry renewal terms. A Contract, Professional Services, or Container offer with committed pricing can include pre-authorized auto-renewal terms, which the buyer accepts along with the offer; resale (CPPO) and agreement-based offers can’t. Without renewal terms, create a new private offer to renew when the contract ends.
  • Pending Cancel and Cancelled are Fours-specific events. You won’t see these labels in the AWS console. In AWS, a seller-initiated cancellation changes the offer’s expiration date so it appears as Expired.
  • Buyers receive both a PENDING_CANCEL and a CANCEL webhook event when they unsubscribe, typically about one hour apart. This is normal behavior.

Azure Marketplace offer statuses

Azure requires two separate actions from the buyer: accepting the offer terms and then completing the purchase. This means a deal can show as Accepted while the subscription is still pending.

StatusWhat it meansWhat to do
DraftYou have started creating the offer but haven’t submitted it yet.Complete all required fields and submit.
In ProgressThe offer is being published. This typically takes up to 15 minutes.Wait for the status to update before contacting the buyer.
Pending AcceptanceThe offer is live and waiting for the buyer to accept.Make sure you have shared the offer link with the buyer. See Share the offer with your buyer.
AcceptedThe buyer accepted the offer terms.Check the sub-status (below) to see if the purchase step is still pending.
ExpiredThe offer deadline passed before the buyer accepted.Withdraw the offer, make any needed edits, and resubmit.
EndedThe offer passed its end date.Create a new offer if you need to continue the deal.
WithdrawnYou recalled the offer before the buyer accepted it.Edit and resubmit when ready.

Source: Microsoft Learn – Manage ISV-to-customer private offers

Purchase sub-statuses (after acceptance)

After the buyer accepts, these sub-statuses track whether they have completed the purchase step.

StatusWhat it meansWhat to do
Pending PurchaseThe buyer accepted the terms but hasn’t completed the purchase yet.It can take 15–60 minutes for the Purchase button to become available. Let the buyer know to check back.
SubscribedThe buyer subscribed and you activated the SaaS subscription.No action needed. The deal is active.
PurchasedFor VM software reservations, the buyer completed the purchase.No action needed.
CancelledThe subscription was cancelled due to a buyer request or non-payment.Reach out to the buyer to resolve, or create a new offer if needed.
Expired (subscription)The subscription has expired.Create a new offer to renew.

For multiparty (channel partner) offers

StatusWhat it meansWhat to do
Pending Partner ActionThe offer is ready for the channel partner to review and send to the buyer.Follow up with the channel partner to confirm they have received and reviewed the offer.

Source: Microsoft Learn – Multiparty private offers for ISVs

GCP Marketplace offer statuses

GCP has the most granular status lifecycle of the three marketplaces. After a buyer accepts an offer, you (the seller) may need to manually approve it before it activates. GCP also distinguishes between an offer expiring before the buyer acts and an order expiring after the contract ends.

Offer statuses (Producer Portal)

StatusWhat it meansWhat to do
DraftThe offer is created but not finalized.Continue editing, then submit.
Pending Google ApprovalGoogle is reviewing the offer before it can be sent to the buyer.Wait for approval. This is a Google-controlled step.
CreatedThe offer URL is ready.Send the offer link to the buyer. See Share the offer with your buyer.
Pending AcceptanceThe offer has been sent but the buyer hasn’t accepted yet.Follow up with the buyer if needed.
Account Pending ApprovalThe buyer’s account needs to be approved before the offer can proceed.Review and approve the account in your GCP settings.
Account RejectedThe buyer’s account was rejected.Contact the buyer if the rejection was unintended.
Needs Your ApprovalThe buyer accepted and is waiting for you to confirm.Go to the GCP Producer Portal and approve the offer.
ApprovingYour approval is being processed. This takes a few minutes.Wait for the status to update.
Approval FailedAn error occurred during approval.Wait for the status to reset, then re-approve.
ActivatingThe offer is nearly ready. It will activate at its scheduled start time.No action needed.
ScheduledA replacement offer was approved and will activate on the contract start date.No action needed until the start date.
ActiveThe buyer is actively using the offer.No action needed.
Offer ExpiredThe buyer did not accept before the deadline.Create a new offer if you want to continue the deal.
Order ExpiredThe contract end date has passed.Create a renewal offer if needed.
CancelledYou withdrew the offer before the buyer accepted.Create a new offer if the deal should continue.
RejectedYou declined an offer the buyer had already accepted.Contact the buyer and create a new offer if the deal should proceed.
UnavailableThis is a legacy offer that is no longer supported.Migrate to a current offer type if needed.

Reseller offer statuses (Partner Sales Console)

If an offer is managed through a GCP reseller, you’ll see this simplified set of statuses instead.

StatusWhat it meansWhat to do
PublishedThe reseller published the offer; the buyer hasn’t accepted yet.Follow up with the buyer or reseller if there is no response.
AcceptedThe buyer accepted but the contract hasn’t started yet.Wait for the contract start date.
ActiveThe contract is in effect.No action needed.
EndedThe contract passed its end date.Create a renewal offer if needed.
ExpiredThe buyer didn’t accept before the deadline.Work with the reseller to reissue the offer.
CanceledThe reseller withdrew the offer.Coordinate with the reseller to reissue if needed.

Key things to know about GCP offers

  • SaaS offers require manual approval by default unless you have enabled automatic offer approval. Check your GCP settings to avoid deal delays.
  • Replacement offers (for renewals or upsells) follow the same status lifecycle but can’t change the product, plan, or pricing model of the original offer.
  • As of April 2025, GCP supports multiple active flat-fee offers for the same buyer.

Cross-cloud status comparison

Use this table to quickly compare where a deal stands across all three marketplaces.

Lifecycle stageAWSAzureGCP
Being createdDraftDraftDraft
Publishing— (immediate)In ProgressPending Google Approval
Awaiting buyerActivePending AcceptanceCreated / Pending Acceptance
Buyer agreedAcceptedAcceptedNeeds Your Approval
Fully activeAgreement activeSubscribed / PurchasedActive
Not accepted in timeExpiredExpiredOffer Expired
Contract endedAgreement endedEndedOrder Expired
Seller withdrewCancelled (pre-accept)WithdrawnCancelled

Spotted something wrong or out of date on this page? Tell us and we'll correct it.