List Contract Lines

readByQuery

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

Parameters

Name Required Type Description
object Required string Use CONTRACTDETAIL
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. Illegal XML characters must be properly encoded. The following SQL operators are supported: <, >, >=, <=, =, like, not like, in, not in. When doing NULL comparisons: IS NOT NULL, IS NULL. Multiple fields may be matched using the AND and OR operators. Joins are not supported. Single quotes in any operands must be escaped with a backslash - For example, the value Erik's Deli would become 'Erik\'s Deli'.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

query

Name Required Type Description
STATE Optional string State. Use P for In progress, O for Renewal only, C for Cancelled, N for Not renewed.
BILLINGMETHOD Optional string Billing method. Use F for Fixed price, Q for Quantity based.
BILLINGOPTIONS Optional string Flat/fixed amount frequency. Use O for One-time, U for Use billing template, or I for Include with every invoice.
LINETYPE Optional string Line type of the contract line. Use S for Sale (positive contract lines), D for Discount (contract lines with positive Quantity and negative Flat/Fixed), or B for Debook (contract lines with a negative Quantity and a positive Rate).

Get Contract Line

read

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

Parameters

Name Required Type Description
object Required string Use CONTRACTDETAIL
keys Required string Contract line 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.

Create Contract Line

Release Changes
2018 Release 3 Added RENEWALBILLINGTEMPLATENAME
2018 Release 2 Added GLPOSTINGDATE

create

<create>
    <CONTRACTDETAIL>
        <CONTRACTID>CTRC-003</CONTRACTID>
        <ITEMID>DWNL</ITEMID>
        <BILLINGMETHOD>Fixed price</BILLINGMETHOD>
        <BILLINGOPTIONS>One-time</BILLINGOPTIONS>
        <BEGINDATE>09/01/2017</BEGINDATE>
        <ENDDATE>09/01/2018</ENDDATE>
        <BILLINGTEMPLATE>40-30-20-10</BILLINGTEMPLATE>
        <FLATAMOUNT>1000.00</FLATAMOUNT>
        <REVENUETEMPLATENAME>SL Man (Rev)</REVENUETEMPLATENAME>
        <LOCATIONID>US</LOCATIONID>
    </CONTRACTDETAIL>
</create>

Creates a line with its own ship to contact:

<create>
    <CONTRACTDETAIL>
        <CONTRACTID>CTRC-003</CONTRACTID>
        <BEGINDATE>09/01/2017</BEGINDATE>
        <ENDDATE>09/01/2018</ENDDATE>
        <ITEMID>055</ITEMID>
        <SHIPTOCONTACTNAME>Millian Group</SHIPTOCONTACTNAME>
        <BILLINGMETHOD>Fixed price</BILLINGMETHOD>
        <BILLINGOPTIONS>Use billing template</BILLINGOPTIONS>
        <BILLINGTEMPLATENAME>12-months, equal</BILLINGTEMPLATENAME>
        <BILLINGSTARTDATE>09/01/2017</BILLINGSTARTDATE>
        <BILLINGENDDATE>09/01/2018</BILLINGENDDATE>
        <FLATAMOUNT>1000.00</FLATAMOUNT>
        <REVENUETEMPLATENAME>Daily rate</REVENUETEMPLATENAME>
        <REVENUESTARTDATE>10/01/2017</REVENUESTARTDATE>
        <REVENUEENDDATE>10/01/2018</REVENUEENDDATE>
    </CONTRACTDETAIL>
</create>

Parameters

Name Required Type Description
CONTRACTDETAIL Required object Object to create

CONTRACTDETAIL

Name Required Type Description
CONTRACTID Required string Contract ID
ITEMID Required string Item ID
BEGINDATE Optional string Start date in format mm/dd/yyyy. Leave blank to use contract’s.
ENDDATE Optional string End date in format mm/dd/yyyy. Leave blank to use contract’s.
ITEMDESC Optional string Item description
RENEWAL Optional boolean Renewal. Use false for No, true for Yes. (Default: false)
EXCH_RATE_DATE Optional string Exchange rate date in format mm/dd/yyyy. Leave blank to use the start date (if the start is in the future, today’s date is used instead).
EXCHANGE_RATE Optional currency Exchange rate value.
BILLINGMETHOD Required string Billing method. Use either Fixed price or Quantity based. (Default: Fixed price)
BILLINGOPTIONS Optional string Flat/fixed amount frequency. Only used if BILLINGMETHOD is Fixed price. Use either One-time, Use billing template, or Include with every invoice. (Default: Use billing template)
BILLINGTEMPLATE Optional string Billing template. Only used if BILLINGOPTIONS is Use billing template.
BILLINGSTARTDATE Optional string Billing start date in format mm/dd/yyyy. Only used if BILLINGOPTIONS is Use billing template. Leave blank to use line start date
BILLINGENDDATE Optional string Billing end date in format mm/dd/yyyy. Only used if BILLINGOPTIONS is Use billing template. Leave blank to use line end date
RENEWALBILLINGTEMPLATENAME Optional string Name of a renewal billing template. Ensure the renewal billing template term is less than or equal to the contract renewal term. Only used if RENEWAL is true. If BILLINGOPTIONS is set to Use billing template on the contract line, a billing template is required. If RENEWALBILLINGTEMPLATENAME is omitted, the system first defaults to the BILLINGTEMPLATENAME on the contract line, then to the default billing template defined on the item.
GLPOSTINGDATE Optional string Date the Unbilled AR and Unbilled deferred revenue posts, in format mm/dd/yyyy. Leave blank to use the contract line start date minus the bill-in-advance period (if this would occur in a closed period, the first date in the first available open period is used instead).
QUANTITY Optional number Flat/fixed amount calculate quantity. Only used if BILLINGMETHOD is Fixed price.
PRICE Optional number Flat/fixed amount calculate rate. Only used if BILLINGMETHOD is Fixed price.
MULTIPLIER Optional number Flat/fixed amount calculate multiplier. Only used if BILLINGMETHOD is Fixed price.
DISCOUNTPERCENT Optional number Flat/fixed amount calculate discount. Only used if BILLINGMETHOD is Fixed price.
FLATAMOUNT Optional currency Base/flat fixed amount.
REVENUETEMPLATENAME Optional string 606 revenue template
REVENUESTARTDATE Optional string 606 revenue start date in format mm/dd/yyyy. Leave blank to use line start date
REVENUEENDDATE Optional string 606 revenue end date in format mm/dd/yyyy. Leave blank to use line end date
REVENUE2TEMPLATENAME Optional string Legacy revenue template
REVENUE2STARTDATE Optional string Legacy revenue start date in format mm/dd/yyyy. Leave blank to use line start date
REVENUE2ENDDATE Optional string Legacy revenue end date in format mm/dd/yyyy. Leave blank to use line end date
SHIPTOCONTACTNAME Optional string Ship to contact name for the detail, which overrides the ship to contact name on the contract.
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

Update Contract Line

Release Changes
2018 Release 3 Added RENEWALBILLINGTEMPLATENAME
2018 Release 2 Added GLPOSTINGDATE

update

<update>
    <CONTRACTDETAIL>
        <RECORDNO>123</RECORDNO>
        <DEPARTMENTID>300</DEPARTMENTID>
    </CONTRACTDETAIL>
</update>

Parameters

Name Required Type Description
CONTRACTDETAIL Required object Object to update

CONTRACTDETAIL

Name Required Type Description
RECORDNO Optional integer Record number of contract line to update
ITEMID Optional string Item ID
BEGINDATE Optional string Start date in format mm/dd/yyyy
ENDDATE Optional string End date in format mm/dd/yyyy
ITEMDESC Optional string Item description
RENEWAL Optional boolean Renewal. Use false for No, true for Yes.
EXCH_RATE_DATE Optional string Exchange rate date in format mm/dd/yyyy
EXCHANGE_RATE Optional currency Exchange rate value
BILLINGMETHOD Optional string Billing method. Use either Fixed price or Quantity based.
BILLINGOPTIONS Optional string Flat/fixed amount frequency. Only used if BILLINGMETHOD is Fixed price. Use either One-time, Use billing template, or Include with every invoice.
BILLINGTEMPLATE Optional string Billing template. Only used if BILLINGOPTIONS is Use billing template.
BILLINGSTARTDATE Optional string Billing start date in format mm/dd/yyyy. Only used if BILLINGOPTIONS is Use billing template.
BILLINGENDDATE Optional string Billing end date in format mm/dd/yyyy. Only used if BILLINGOPTIONS is Use billing template.
RENEWALBILLINGTEMPLATENAME Optional string Name of a renewal billing template. Ensure the renewal billing template term is less than or equal to the contract renewal term. Only used if RENEWAL is true. If BILLINGOPTIONS is set to Use billing template on the contract line, a billing template is required. If RENEWALBILLINGTEMPLATENAME is omitted, the system first defaults to the BILLINGTEMPLATENAME on the contract line, then to the default billing template defined on the item.
GLPOSTINGDATE Optional string Date the Unbilled AR and Unbilled deferred revenue posts, in format mm/dd/yyyy. Leave blank to use the contract line start date minus the bill-in-advance period (if this would occur in a closed period, the first date in the first available open period is used instead).
QUANTITY Optional number Flat/fixed amount calculate quantity. Only used if BILLINGMETHOD is Fixed price.
PRICE Optional number Flat/fixed amount calculate rate. Only used if BILLINGMETHOD is Fixed price.
MULTIPLIER Optional number Flat/fixed amount calculate multiplier. Only used if BILLINGMETHOD is Fixed price.
DISCOUNTPERCENT Optional number Flat/fixed amount calculate discount. Only used if BILLINGMETHOD is Fixed price.
FLATAMOUNT Optional currency Base/flat fixed amount
REVENUETEMPLATENAME Optional string 606 revenue template
REVENUESTARTDATE Optional string 606 revenue start date in format mm/dd/yyyy
REVENUEENDDATE Optional string 606 revenue end date in format mm/dd/yyyy
REVENUE2TEMPLATENAME Optional string Legacy revenue template
REVENUE2STARTDATE Optional string Legacy revenue start date in format mm/dd/yyyy
REVENUE2ENDDATE Optional string Legacy revenue end date in format mm/dd/yyyy
SHIPTOCONTACTNAME Optional string Ship to contact name for the detail, which overrides the ship to contact name on the contract.
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

Deliver Contract Line

This function is applicable when using event-driven revenue recognition. It changes the Delivery status of the given contract line to Delivered.

deliver

<deliver>
    <CONTRACTDETAIL>
        <RECORDNO>123</RECORDNO>
        <DELIVERYDATE>07/31/2017</DELIVERYDATE>
    </CONTRACTDETAIL>
</deliver>

Parameters

Name Required Type Description
CONTRACTDETAIL Required object Object to operate on

CONTRACTDETAIL

Name Required Type Description
RECORDNO Required integer Contract line RECORDNO to set to Delivered.
DELIVERYDATE Required string Delivery date in format mm/dd/yyyy

Hold Contract Line

When you use this function, the state of the contract line remains in progress, but the billing and revenue schedules and/or expense schedules can be put on hold.

hold

<hold>
    <CONTRACTDETAIL>
        <RECORDNO>123</RECORDNO>
        <ASOFDATE>07/31/2017</ASOFDATE>
        <BILLING>true</BILLING>
        <REVENUE>true</REVENUE>
        <EXPENSE>true</EXPENSE>
    </CONTRACTDETAIL>
</hold>

Parameters

Name Required Type Description
CONTRACTDETAIL Required object Object to hold

CONTRACTDETAIL

Name Required Type Description
RECORDNO Required integer Record number of contract line to hold
ASOFDATE Optional string Hold date in format mm/dd/yyyy (Default: Last posted schedule entry date + 1)
BILLING Optional boolean Hold billing. Use false for No, true for Yes. (Default: false)
REVENUE Optional boolean Hold revenue. Use false for No, true for Yes. (Default: false)
EXPENSE Optional boolean Hold expense. Use false for No, true for Yes. (Default: false)
MEMO Optional string Description of the hold. 500 character limit.

Resume Contract Line

resume

<resume>
    <CONTRACTDETAIL>
        <RECORDNO>123</RECORDNO>
        <ASOFDATE>07/31/2017</ASOFDATE>
        <BILLING>true</BILLING>
        <REVENUE>true</REVENUE>
        <EXPENSE>true</EXPENSE>
    </CONTRACTDETAIL>
</resume>

Parameters

Name Required Type Description
CONTRACTDETAIL Required object Object to resume

CONTRACTDETAIL

Name Required Type Description
RECORDNO Required integer Record number of contract line to resume.
ASOFDATE Required string Resume date in format mm/dd/yyyy
BILLING Optional boolean Resume billing. Use false for No, true for Yes. (Default: false)
REVENUE Optional boolean Resume revenue. Use false for No, true for Yes. (Default: false)
EXPENSE Optional boolean Resume expense. Use false for No, true for Yes. (Default: false)
MEMO Optional string Description of the hold. 500 character limit.
REVENUEADJUSTMENTTYPE Optional String Use One time to set the scheduled posting date for all revenue that was scheduled prior to the resume date to the resume date, Distributed to recalculate the revenue schedule term using the resume date as the start date and spread the total revenue amount across the shortened schedule so that any skipped periods during the hold period are eventually caught up, or Walk forward to regenerate the revenue schedule using the resume date and push the end date out to the date that is equal to the number of days from the original revenue template start date to the resume date. The system prorates any partial periods. The whole period amount remains equal to the originally scheduled whole period amount. (Default: revenue adjustment option specified in the revenue template)

Uncancel Contract Line

If you incorrectly or inadvertently canceled a contract line, you can use this function to undo that action and uncancel the line.

uncancel

<uncancel>
    <CONTRACTDETAIL>
        <RECORDNO>123</RECORDNO>
    </CONTRACTDETAIL>
</uncancel>

CONTRACTDETAIL

Name Required Type Description
RECORDNO Required integer Record number of contract line to uncancel

Delete Contract Line

delete

<delete>
    <object>CONTRACTDETAIL</object>
    <keys>112</keys>
</delete>

Parameters

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

List Contract Line Expenses

readByQuery

<readByQuery>
    <object>CONTRACTEXPENSE</object>
    <fields>*</fields>
    <query>TYPE = 'L'</query>
    <pagesize>100</pagesize>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use CONTRACTEXPENSE
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. Illegal XML characters must be properly encoded. The following SQL operators are supported: <, >, >=, <=, =, like, not like, in, not in. When doing NULL comparisons: IS NOT NULL, IS NULL. Multiple fields may be matched using the AND and OR operators. Joins are not supported. Single quotes in any operands must be escaped with a backslash - For example, the value Erik's Deli would become 'Erik\'s Deli'.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)

query

Name Required Type Description
TYPE Required string Type. Use L for Contract line expenses.
STATE Optional string State. Use P for In progress, C for Cancelled

Get Contract Line Expense

read

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

Parameters

Name Required Type Description
object Required string Use CONTRACTEXPENSE
keys Required string Contract line expense 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.

Create Contract Line Expense

create

<create>
    <CONTRACTEXPENSE>
        <CONTRACTDETAILKEY>15</CONTRACTDETAILKEY>
        <ITEMID>SUPP</ITEMID>
        <POSTINGDATE>05/01/2017</POSTINGDATE>
        <AMOUNT>400.00</AMOUNT>
        <LOCATIONID>US</LOCATIONID>
        <TEMPLATENAME>SL Man (Exp)</TEMPLATENAME>
    </CONTRACTEXPENSE>
</create>

Parameters

Name Required Type Description
CONTRACTEXPENSE Required object Object to create

CONTRACTEXPENSE

Name Required Type Description
CONTRACTDETAILKEY Required integer Contract Line Record Number
ITEMID Required string Item ID
POSTINGDATE Required string Posting date in format mm/dd/yyyy
EXCH_RATE_DATE Optional string Exchange rate date in format mm/dd/yyyy. Leave blank to use posting date.
EXCHANGE_RATE Optional currency Exchange rate value.
AMOUNT Required currency Amount
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
TEMPLATENAME Optional string 606 expense template
STARTDATE Optional string 606 expense start date in format mm/dd/yyyy. Leave blank to use contract/line start date
ENDDATE Optional string 606 expense end date in format mm/dd/yyyy. Leave blank to use contract/line end date
TEMPLATE2NAME Optional string Legacy expense template
START2DATE Optional string Legacy expense start date in format mm/dd/yyyy. Leave blank to use contract/line start date
END2DATE Optional string Legacy expense end date in format mm/dd/yyyy. Leave blank to use contract/line end date

Update Contract Line Expense

update

<update>
    <CONTRACTEXPENSE>
        <RECORDNO>123</RECORDNO>
        <DEPARTMENTID>500</DEPARTMENTID>
    </CONTRACTEXPENSE>
</update>

Parameters

Name Required Type Description
CONTRACTEXPENSE Required object Object to update

CONTRACTEXPENSE

Name Required Type Description
RECORDNO Optional integer Record number of contract line expense to update.
ITEMID Optional string Item ID
POSTINGDATE Optional string Posting date in format mm/dd/yyyy
EXCH_RATE_DATE Optional string Exchange rate date in format mm/dd/yyyy
EXCHANGE_RATE Optional currency Exchange rate value.
AMOUNT Optional currency Amount
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
TEMPLATENAME Optional string 606 expense template
STARTDATE Optional string 606 expense start date in format mm/dd/yyyy. Leave blank to use contract/line start date
ENDDATE Optional string 606 expense end date in format mm/dd/yyyy. Leave blank to use contract/line end date
TEMPLATE2NAME Optional string Legacy expense template
START2DATE Optional string Legacy expense start date in format mm/dd/yyyy. Leave blank to use contract/line start date
END2DATE Optional string Legacy expense end date in format mm/dd/yyyy. Leave blank to use contract/line end date

Delete Contract Line Expense

delete

<delete>
    <object>CONTRACTEXPENSE</object>
    <keys>112</keys>
</delete>

Parameters

Name Required Type Description
object Required string Use CONTRACTEXPENSE
keys Required string Contract line expense RECORDNO to delete

Provide feedback