Contract is a dimension that can be defined by the company and set on transactions to expand report functionality and insight.


Get Contract Object Definition

lookup

List all the fields and relationships for the contract object:

<lookup>
    <object>CONTRACT</object>
</lookup>

Parameters

Name Required Type Description
object Required string Use CONTRACT

List Contracts

query

List the record number and description for each contract:

<query>
    <object>CONTRACT</object>
    <select>
        <field>RECORDNO</field>
        <field>CONTRACTID</field>
    </select>
</query>

Parameters

Name Required Type Description
object Required string Use CONTRACT
select Required sequence One or more field names and an optional aggregate function such as count or sum. Returning all fields is not supported.
filter Optional object Query filter expression. Check the value of a single field using operators such as equalto/like, or multiple fields using and/or. Query fields on related objects using the dot operator (for example, VENDOR.CREDITLIMIT on APBILL).
orderby Optional object Provide an order element with a field name and choose an ascending or descending sort order, for example:
<order>
        <field>RECORDNO</field>
        <descending/>
</order>
options Optional object Set the caseinsensitive element to true for a case-insensitive query:
    <caseinsensitive>true</caseinsensitive>
In a multi-entity company, set the showprivate element to true to query data in private entities:
   <showprivate>true</showprivate>
pagesize Optional integer Custom page size between 1 and 2000 items (Default: 100)
offset Optional integer Point at which to start indexing into records (Default: 0)

List Contracts (Legacy)

readByQuery

<readByQuery>
    <object>CONTRACT</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use CONTRACT
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. The following operators are supported: <, >, >=, <=, =, like, not like, in, not in, IS NOT NULL, IS NULL, AND, OR. Illegal XML characters must be properly encoded, and single quotes must be escaped with backslashes ('Jane\'s Deli'). Joins are not supported.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

query Fields

Name Required Type Description
STATE Optional string State. Use I for In progress, R for Renewed, C for Cancelled, N for Not renewed
BILLINGFREQUENCY Optional string Billing frequency. Use M for Monthly, Q for Quarterly, or A for Annually
RENEWTERMPERIOD Optional string Renewal term period. Use Y for Years, M for Months, D for Days

Get Contract

read

<read>
    <object>CONTRACT</object>
    <keys>1</keys>
    <fields>*</fields>
</read>

Parameters

Name Required Type Description
object Required string Use CONTRACT
keys Required string Contract RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

Get Contract by Name

readByName

<readByName>
    <object>CONTRACT</object>
    <keys>C1000</keys>
    <fields>*</fields>
</readByName>

Parameters

Name Required Type Description
object Required string Use CONTRACT
keys Required string Contract CONTRACTID to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.

Create Contract

Release Changes
2021 Release 1 BILLINGFREQUENCY is now optional
2020 Release 1 Added STATE
2019 Release 2 Added CONTRACTTYPE, Added value of Annually for BILLINGFREQUENCY
2018 Release 2 Added RENEWALADVBILLBY and RENEWALADVBILLBYTYPE
2018 Release 1 Added ADVBILLBY and ADVBILLBYTYPE

create

<create>
    <CONTRACT>
        <CONTRACTID>CTRC-003</CONTRACTID>
        <CUSTOMERID>C-103</CUSTOMERID>
        <NAME>North central contract</NAME>
        <BEGINDATE>04/01/2017</BEGINDATE>
        <ENDDATE>12/31/2017</ENDDATE>
        <BILLINGFREQUENCY>Monthly</BILLINGFREQUENCY>
        <TERMNAME>Net 30</TERMNAME>
        <LOCATIONID>US</LOCATIONID>
        <CURRENCY>USD</CURRENCY>
        <EXCHRATETYPE>Intacct Daily Rate</EXCHRATETYPE>
    </CONTRACT>
</create>

Parameters

Name Required Type Description
CONTRACT Required object Object to create

CONTRACT

Name Required Type Description
CONTRACTID Optional string Contract ID to create. Required if company does not use auto-numbering.
CUSTOMERID Required string Customer ID
NAME Required string Contract name
STATE Optional string State in which to create the contract. Use Draft for a contract that will not yet post to the GL (Default: In progress). To move a contract from Draft to In progress, use the post function.
CONTRACTTYPE Optional string Contract type
BILLTOCONTACTNAME Optional string Bill to contact name. Leave blank to use customer’s default.
DESCRIPTION Optional string Description
SHIPTOCONTACTNAME Optional string Ship to contact name. Leave blank to use customer’s default.
BEGINDATE Required string Start date in format mm/dd/yyyy
ENDDATE Required string End date in format mm/dd/yyyy
BILLINGFREQUENCY Optional string Billing frequency. Use Monthly, Quarterly, or Annually
TERMNAME Required string Payment term
PRCLIST Optional string Billing price list
MEAPRCLIST Optional string Fair value price list
ADVBILLBY Optional integer Bill in advance. Number of months or days before the start date. Overrides bill-in-advance settings on the customer.
ADVBILLBYTYPE Optional string Bill-in-advance time period. Required if using bill in advance. Use days or months.
RENEWALADVBILLBY Optional integer Bill in advance for renewals. Number of months or days before the start date.
RENEWALADVBILLBYTYPE Optional string Bill-in-advance time period for renewals. Required if using bill in advance for renewals. Use days or months.
SUPDOCID Optional string Attachments ID
LOCATIONID Required string Location ID
DEPARTMENTID Optional string Department ID
PROJECTID Optional string Project ID
VENDORID Optional string Vendor ID
EMPLOYEEID Optional string Employee ID
CLASSID Optional string Class ID
CURRENCY Optional string Transaction currency. Required if company is configured for multi-currency.
EXCHRATETYPE Optional string Exchange rate type. Required if company is configured for multi-currency (Leave blank to use Intacct Daily Rate)
RENEWAL Optional boolean Renewal. Use false for No, true for Yes. (Default: false)
RENEWALMACRO Optional string Renewal template
RENEWTERMLENGTH Optional integer Term length. Only used if RENEWAL is true
RENEWTERMPERIOD Optional string Period. Only used if RENEWAL is true. Use either Years, Months, Days (Default: Months)
Custom fields Optional varies Custom fields. For a multi-pick-list custom field, implode multiple field values with #~#.

Update Contract

Release Changes
2019 Release 2 Added CONTRACTTYPE, Added value of Annually for BILLINGFREQUENCY
2018 Release 2 Added RENEWALADVBILLBY and RENEWALADVBILLBYTYPE
2018 Release 1 Added ADVBILLBY and ADVBILLBYTYPE

update

<update>
    <CONTRACT>
        <CONTRACTID>CTRC-003</CONTRACTID>
        <NAME>North central contract for services</NAME>
        <DEPARTMENTID>300</DEPARTMENTID>
    </CONTRACT>
</update>

Parameters

Name Required Type Description
CONTRACT Create object Object to update

CONTRACT

Name Required Type Description
RECORDNO Optional integer Record number of contract. Required if not using CONTRACTID.
CONTRACTID Optional string Contract ID to update. Required if not using RECORDNO.
CUSTOMERID Optional string Customer ID
NAME Optional string Contract name
CONTRACTTYPE Optional string Contract type
BILLTOCONTACTNAME Optional string Bill to contact name
DESCRIPTION Optional string Description
SHIPTOCONTACTNAME Optional string Ship to contact name
BEGINDATE Optional string Start date in format mm/dd/yyyy
ENDDATE Optional string End date in format mm/dd/yyyy
BILLINGFREQUENCY Optional string Billing frequency. Use Monthly, Quarterly, or Annually
TERMNAME Optional string Payment term
PRCLIST Optional string Billing price list
MEAPRCLIST Optional string Fair value price list
ADVBILLBY Optional integer Bill in advance. Number of months or days before the start date. Overrides bill-in-advance settings on the customer.
ADVBILLBYTYPE Optional string Bill-in-advance time period. Required if using bill in advance. Use days or months.
RENEWALADVBILLBY Optional integer Bill in advance for renewals. Number of months or days before the start date.
RENEWALADVBILLBYTYPE Optional string Bill-in-advance time period for renewals. Required if using bill in advance for renewals. Use days or months.
SUPDOCID Optional string Attachments ID
LOCATIONID Optional string Location ID
DEPARTMENTID Optional string Department ID
PROJECTID Optional string Project ID
VENDORID Optional string Vendor ID
EMPLOYEEID Optional string Employee ID
CLASSID Optional string Class ID
CURRENCY Optional string Transaction currency.
EXCHRATETYPE Optional string Exchange rate type.
RENEWAL Optional boolean Renewal. Use false for No, true for Yes.
RENEWALMACRO Optional string Renewal template
RENEWTERMLENGTH Optional integer Term length. Only used if RENEWAL is true
RENEWTERMPERIOD Optional string Period. Only used if RENEWAL is true. Use either Years, Months, Days (Default: Months)
Custom fields Optional varies Custom fields. For a multi-pick-list custom field, implode multiple field values with #~#.

Post Contract

You can post a contract that is in Draft state so that it is fully validated and posted to the GL. The state of a posted contract is changed from Draft to In progress.

If your draft contract is missing required parameter values, check the error messages from the post response and use the update function to correct any issues before trying to post again.

post

<post>
    <CONTRACT>
        <RECORDNO>127</RECORDNO>
        <GLPOSTINGDATE>01/01/2020</GLPOSTINGDATE>
        <POSTMEMO>Contract has been finalized</POSTMEMO>
    </CONTRACT>
</post>

Parameters

Name Required Type Description
object Required object Use CONTRACT

CONTRACT

Name Required Type Description
RECORDNO Required string Record number of the contract to post
GLPOSTDATE Required string GL posting date in format mm/dd/yyyy
POSTMEMO Optional string Memo about the post

Renew Contract

Forces the renewal of a contract that failed to renew at the scheduled time. This can be useful if you uploaded multiple contracts as part of an integration and want to avoid manually renewing them in the Sage Intacct UI. (A contract must have )

renew

<renew>
    <CONTRACT>
        <CONTRACTID>CTRC-003</CONTRACTID>
    </CONTRACT>
</renew>

Parameters

Name Required Type Description
CONTRACT Required object Contract to renew. The contract’s state must be In progress, and there must be at least one contract line.

CONTRACT

Name Required Type Description
CONTRACTID Required string Contract ID to renew.

Clear All MEA Allocations

NEW!

You can clear MEA allocations to reset the applicable revenue schedules to the amounts that existed prior to the allocations. Clearing MEA allocations unposts previously posted revenue, so the applicable reporting periods must be open.

clearallmea

<clearallmea>
    <CONTRACT>
        <CONTRACTID>CTRC-003</CONTRACTID>
    </CONTRACT>
</clearallmea>

Parameters

Name Required Type Description
object Required string Use CONTRACT

CONTRACT

Name Required Type Description
CONTRACTID Required string Contract ID for which to clear all MEA allocations

Clear Individual MEA Allocations

NEW!

You can clear individual MEA allocations one at a time, starting with the current one and working back in time.

clearlastactivemea

<clearlastactivemea>
    <CONTRACT>
        <CONTRACTID>CTRC-003</CONTRACTID>
    </CONTRACT>
</clearlastactivemea>

Parameters

Name Required Type Description
object Required string Use CONTRACT

CONTRACT

Name Required Type Description
CONTRACTID Required string Contract ID for which to clear the current MEA allocation

Delete Contract

delete

<delete>
    <object>CONTRACT</object>
    <keys>112</keys>
</delete>

Parameters

Name Required Type Description
object Required string Use CONTRACT
keys Required string Contract RECORDNO to delete

Provide feedback