Private Offers
Create a private offer to sell your SaaS listing to a specific Oracle Cloud customer at negotiated terms.
Prerequisites
- The Oracle Cloud Marketplace integration is connected.
- Your SaaS listing has been synced into Fours as a product.
- You know the buyer’s tenancy OCID (
ocid1.tenancy.oc1..…) — the offer is sent to this tenancy. - Your contract document (EULA) as a PDF file, up to 1 MB.
Pricing Model
Oracle Cloud Marketplace private offers created through Fours are priced as a one-time contract value in USD:
- The buyer commits to a single total contract value in USD (rounded to whole dollars) for the full contract duration.
- Billing cycle is one-time — no installments. The offer price itself is not usage/metered; usage metering is a separate, entitlement-level capability that bills in addition to the contract value, not instead of it.
- Contract length: billing ends after a duration you set in whole days, months or years (1 year by default), or on a specific end date. Oracle’s maximum total contract length is 375 days, so anything longer — a 2-year duration, for example — is rejected at send time.
Create a Private Offer
-
On the Offers page in the Fours console, click
Create Private Offerand select your Oracle product. -
Fill in the offer details:
Field Description Offer name Required. A descriptive name for this offer (max 128 characters). Buyer company name Required. The buyer’s company name shown on the offer. Fours requires 1–100 characters, and a name of only spaces counts as empty. Buyer tenancy OCID Required. The OCID of the buyer’s Oracle Cloud tenancy. Buyer primary contact First/last name and email. The email is required. Offer description Optional (max 512 characters). Billing start On acceptance (default) — billing starts when the buyer accepts. Specify date — pick the start date. Billing end End after duration — a whole number of Days, Months or Years (default 1 year), measured from the start. End on specific date — must be after the start date. Oracle’s maximum is 375 days. Offer expiration date The date by which the buyer must accept. If you leave it empty, Fours uses 30 days from creation, or the day before the billing start date if that is sooner. With a specified start date, it must be before that date — Oracle rejects the offer otherwise. Contract document (EULA) Required. A PDF file up to 1 MB. The form takes exactly one document; to attach additional contract documents, create the offer through the Fours API. A larger PDF you upload is refused before it uploads, with a message asking you to compress it and try again. A PDF you pick from the files already uploaded to your organization isn’t checked there, so an oversized one makes the offer fail when Fours creates it. Total contract value Required. The one-time amount in USD. Fours requires it to be greater than 0; Oracle additionally requires a minimum of 10,000 USD. Seller primary contact First/last name and email. The email is required. Fields marked with an asterisk (*) are required. Create offer stays greyed out while a required field is empty or a value isn’t valid; hover over it, or press Tab until it has focus, to see what’s left — its tooltip, headed Please complete:, lists each step that still needs work and the fields in it. The form also checks the offer terms as you fill them in: a value that isn’t valid is outlined in red with the reason beneath it — Must be before the billing start date: Oracle rejects the offer otherwise under Offer Expiration Date, Must be after the billing start date under Billing End, or Must be a whole number greater than 0 for a contract duration.
Oracle accepts contract lengths only in days, so Fours converts months and years into the exact number of days from the start before sending — 1 year becomes 365 or 366 days. The offer’s detail page shows the stored duration, for example
365 days (P365D). -
Submit the offer. Fours creates the offer in Oracle Cloud, attaches the contract document, and sends it to the buyer’s tenancy.
Sending is asynchronous on Oracle’s side: the offer stays in Pending Create while Fours waits (up to ~5 minutes) for Oracle to confirm the send. Once confirmed, the offer moves to Pending Acceptance. If Oracle rejects the send, the offer moves to Create Failed, and its Create Offer Failed alert shows Oracle’s reason — such as DURATION_IS_INVALID or TIME_ACCEPT_BY_IS_INVALID — so you can fix the offer and resubmit it (see Modify a Private Offer).
Offer lifecycle
An offer moves from creation to a buyer entitlement like this:
Offer Status
Oracle offer statuses map to Fours offer statuses as follows:
| Oracle offer status | Fours offer status | Meaning |
|---|---|---|
DRAFT | Draft | Created in Oracle but not yet sent. |
PENDING_MARKETPLACE | Pending Marketplace Approval | Waiting on Oracle Marketplace review. |
PENDING_BUYER | Pending Acceptance | Sent; waiting for the buyer to accept. |
ACCEPTED | Accepted | The buyer accepted the offer. |
ACTIVE | Active | The contract is in effect. |
ENDED / EXPIRED | Expired | The contract ended, or the offer expired unaccepted. |
FAILED_SEND / FAILED_ACCEPT | Create Failed | Oracle rejected the send or the acceptance failed. |
Buyers are matched by their Oracle tenancy, so repeat deals with the same buyer are recognized.
Buyer Acceptance
The buyer reviews and accepts the private offer in their Oracle Cloud Console — there is no in-Fours acceptance step. The buyer’s user needs tenancy-scoped IAM permission to accept offers, e.g.:
Allow group PrivateOfferBuyer to manage marketplace-offers in tenancy
See Oracle’s Required IAM Policies for private offers.
Acceptance is reflected back into Fours when the offer status advances — the hourly sync picks it up automatically, or trigger a sync from the Integrations page to pull the latest statuses immediately.
After Acceptance: Entitlement
Fours creates a private entitlement as soon as the offer reaches Accepted — it does not wait for Active. The entitlement’s own status then follows the offer’s billing start:
| Offer status | Billing start date | Entitlement status |
|---|---|---|
Accepted or Active | None — billing starts on acceptance | Active |
Accepted or Active | Still in the future | Pending Start |
Accepted or Active | Reached | Active |
This means a deal closed today with a start date next quarter shows up in Fours right away as a Pending Start entitlement, and flips to Active on the start date without anyone touching it. An offer that starts billing on acceptance — the default — gets an Active entitlement straight away.
- Start time comes from the offer’s billing start date, when it has one; end time from the offer end date (or start date + contract duration).
- The entitlement carries the offer’s currency and total contract value as its commit amount.
- When the offer ends in Oracle, the entitlement is closed automatically on the next sync.
Usage metering requires an active entitlement, so a Pending Start entitlement is not yet a metering target.
Notifications
Each of these changes sends the same notification events as an AWS, Azure or GCP deal, so the rules you set up in Email Notification and your Slack or Microsoft Teams channels cover Oracle too:
| When | Event |
|---|---|
The offer is first seen as Accepted or Active | ACCEPT on the OFFER, then CREATE on the new ENTITLEMENT |
A Pending Start entitlement reaches its start date and becomes Active | REINSTATE on the ENTITLEMENT |
| The offer ends and its entitlement is closed | CANCEL on the ENTITLEMENT |
Webhooks receive the ENTITLEMENT events; the offer-accepted event doesn’t go to webhooks. Fours skips events for older history, so the first sync of an existing Oracle account doesn’t flood your channels: it doesn’t announce a new entitlement whose start date is more than 14 days ago, a closed entitlement whose end date is more than 14 days ago, or an offer accepted more than 14 days ago.
Cancel a Private Offer
You can cancel (withdraw) a private offer before the buyer accepts it:
- Select the offer on the Offers page.
- Click
Canceland confirm in the popup dialog.
Fours withdraws the offer in Oracle, and the buyer can no longer accept it.
Modify a Private Offer
Oracle private offers cannot be amended after they are sent. To change the terms of an unaccepted offer, cancel it and create a new offer.
If an offer failed to send (Create Failed) or is stuck in Draft, simply re-submit it from Fours: the stale Oracle draft is cleaned up and a fresh offer is created and sent — no duplicates are produced.
Spotted something wrong or out of date on this page? Tell us and we'll correct it.