---
schema_version: "1"
id: e90fb3354bb753326eeeec8f58cfef031ca4cd8eb6887b42b478561d43e829d3
title: Sales Agreement (POST)
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/mfg_api_devguide/connect_resources_sales_agreement.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.mfg_api_devguide.meta/mfg_api_devguide/connect_resources_sales_agreement.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 6a01c0327a4f60eb1536088a7f6b34b4baeba91a6bbb58b37618d2ef307515ca
description: Create a sales agreement from an external source, including quote, opportunity, or custom object.
---
# Sales Agreement (POST)

Create a sales agreement from an external source, including quote, opportunity, or custom object.

## Resource

/services/data/vXX.X/connect/manufacturing/sales-agreements

## Available Version

51.0

## Requires Chatter

No

## HTTP Methods

POST

## Special Access Rules

To use this resource, your Salesforce org must have the Manufacturing Cloud license with the Sales Agreements permission set.

## Prerequisite

Before you use the resource, use the new ConvertToSalesAgreement mapping usage type available in ObjectHierarchyRelationship settings to map an input object (quote or opportunity) to an output object (sales agreement) and define field mappings. All the products from the source object child entity will be added to the sales agreement. For example, see the [ObjectHierarchyRelationship](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/mfg_objecthierarchyrelationshipsettings_metadata_api.htm) metadata type for the mapping definition from Opportunity to SalesAgreement (parent level mapping) and OpportunityLineItem to SalesAgreementProduct (child level mapping). To use decimal values, map the quantity values to InitialPlannedQtyValue.

#### See Also

- [SalesAgreement](https://developer.salesforce.com/docs/atlas.en-us.264.0.mfg_api_devguide.meta/mfg_api_devguide/sforce_api_objects_salesagreement.htm "SalesAgreement - HTML (New Window)")
- [SalesAgreementProduct](https://developer.salesforce.com/docs/atlas.en-us.264.0.mfg_api_devguide.meta/mfg_api_devguide/sforce_api_objects_salesagreementproduct.htm "SalesAgreementProduct - HTML (New Window)")

## Request Body for POST

### JSON Example

{
  "sourceObjectId": "0kFT1000000000RMAQ",
  "salesAgreementDefaultValues": {
      "salesAgreement": {
          "StartDate": "2020-01-01",
          "ScheduleFrequency": "Monthly",
          "ScheduleCount": "10"
      },
      "salesAgreementProduct": {
          "PricebookEntry": "01uxx00000091jOAAQ",
          "Name": "test-sap1",
          "InitialPlannedQuantity":"1"
      }
  }
}

### Properties

<table class="featureTable sort_table" summary="">





            <thead class="thead sorted" align="left">
              <tr>
                <th class="featureTableHeader vertical-align-top " id="d49347e162">Name</th>

                <th class="featureTableHeader vertical-align-top " id="d49347e165">Type</th>

                <th class="featureTableHeader vertical-align-top " id="d49347e168">Description</th>

                <th class="featureTableHeader vertical-align-top " id="d49347e171">Required or Optional</th>

                <th class="featureTableHeader vertical-align-top " id="d49347e174">Available Version</th>

              </tr>

            </thead>

            <tbody class="tbody">
              <tr>
                <td class="entry" headers="d49347e162" data-title="Name"><samp class="codeph nolang">salesAgreement​​​DefaultValues</samp></td>

                <td class="entry" headers="d49347e165" data-title="Type">
                  <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.mfg_api_devguide.meta/mfg_api_devguide/connect_requests_sales_agreement_default_fields_input.htm" title="Input representation of default values for the sales agreement fields.">Sales Agreement Default​​ Fields Input</a>[]
                </td>

                <td class="entry" headers="d49347e168" data-title="Description">Default field values for the SalesAgreement and SalesAgreementProduct
                  entities that aren’t defined in the mapping definition.<p class="p">Note: You can remove a
                    mapping field from the definition by providing the output field value as blank
                    for SalesAgreement or SalesAgreementProduct.</p>
                </td>

                <td class="entry" headers="d49347e171" data-title="Required or Optional">Optional</td>

                <td class="entry" headers="d49347e174" data-title="Available Version">51.0</td>

              </tr>

              <tr>
                <td class="entry" headers="d49347e162" data-title="Name"><samp class="codeph nolang">sourceObjectId</samp></td>

                <td class="entry" headers="d49347e165" data-title="Type">String</td>

                <td class="entry" headers="d49347e168" data-title="Description">ID of the source object containing the mapping definition used to create the
                  sales agreement record.</td>

                <td class="entry" headers="d49347e171" data-title="Required or Optional">Required</td>

                <td class="entry" headers="d49347e174" data-title="Available Version">51.0</td>

              </tr>

            </tbody>

          </table>

## Response Body for POST

[Sales Agreement Output](https://developer.salesforce.com/docs/atlas.en-us.mfg_api_devguide.meta/mfg_api_devguide/connect_responses_sales_agreement.htm "Output representation of the sales agreement conversion result.")