A project contract object contains the header information about a project contract, including price summaries, scope, and schedule.

Summary values are calculated from project contract lines. Details about the contract are contained in project contract line objects, which contain project contract line entry objects.

You can create multiple project contracts for a single project.

Note: A project contract and its related objects contain fields that are designed to handle the requirements of construction projects. They are not the same as contract objects used in the contracts dimension


Project Contracts

A project contract object contains the header information about a project contract, including rollups of price totals from project contract lines, and additional information including scope and schedule. Details about the contract are contained in project contract line objects.

Get Project Contract Object Definition

lookup

List all the fields and relationships for the project contract object:

<lookup>
    <object>PROJECTCONTRACT</object>
</lookup>
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACT

Query and List Project Contracts

query

List the record number and original price for each project contract:

<query>
    <object>PROJECTCONTRACT</object>
    <select>
        <field>RECORDNO</field>
        <field>ORIGINALPRICE</field>
    </select>
</query> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACT
filter Optional object Filter expression to limit the response to only objects that match the 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).
select Required sequence The names of the fields that you want included in the response, and an optional aggregate function such as count or sum. Returning all fields is not supported.
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 Query options:
  • 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>
  • Specify the returnformat for the response: xml (default), json, or csv
     <returnformat>json</returnformat>
pagesize Optional integer Maximum number of matching objects to return in the response, between 1 and 2000 items (Default: 100)
offset Optional integer Point at which to start indexing into records (Default: 0)

Get a Project Contract

read

Return all fields of a specified project contract

<read>
    <object>PROJECTCONTRACT</object>
    <keys>12</keys>
    <fields>*</fields>
</read> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACT
keys Required string Comma-separated list of RECORDNO of the project contract to get.
fields Optional string Comma-separated list of fields on the object to get. To return all fields, omit the element or provide * for the value.
For best performance and predictability, limit the number of fields.
returnFormat Optional string Data format for the response body:
  • xml (default)
  • json
  • csv

Get Project Contract by ID

readByName

<readByName>
    <object>PROJECTCONTRACT</object>
    <keys>SolarStar-01</keys>
    <fields>*</fields>
</readByName> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACT
keys Required string Comma-separated list of PROJECTCONTRACTID of the project contract to get.
fields Optional string Comma-separated list of fields on the object to get. To return all fields, omit the element or provide * for the value.
For best performance and predictability, limit the number of fields.
returnFormat Optional string Data format for the response body:
  • xml (default)
  • json
  • csv

Create Project Contract

The project and customer are required fields and must exist in Intacct before you can create a project contract.

create

<create>
    <PROJECTCONTRACT>
        <PROJECTCONTRACTID>001</PROJECTCONTRACTID>
        <NAME>API PCN</NAME>
        <PROJECTID>DIM - BTI</PROJECTID>
        <CUSTOMERID>BTI</CUSTOMERID>
        <CONTRACTDATE>2022-04-01</CONTRACTDATE>
    </PROJECTCONTRACT>
</create>
Parameters
Name Required Type Description
PROJECTCONTRACT Required object Object type to create.

PROJECTCONTRACT

Name Required Type Description
PROJECTCONTRACTID Required string User-defined ID for this project contract. Required if document numbering is not enabled for project contracts.
NAME Required string Name of this project contract.
PROJECTID Required string ID of a valid active project that this contract will belong to. The project must be at the same entity level as the project contract, and must have a location set. You can create multiple project contracts for a single project.
CUSTOMERID Required string CUSTOMERID of the customer that this contact is associated with.
CONTRACTDATE Required Date Date for this project contract.
BILLABLE Required Boolean Whether the project contract is billable or not.
  • true
  • false - (default) the project contract is excluded when generating invoices.
DESCRIPTION Optional string Description for this project contract.
PROJECTCONTRACTTYPEID Optional string PROJECTCONTRACTTYPEID of the selected project contract type.
ARCHITECT.CONTACTNAME Optional string Name of the architect contact.
SUPDOCID Optional string supdocid of an attachment
STATUS Optional Enum Whether the project contract is active or inactive.
  • active (default)
  • inactive - excluded when generating invoices
RETAINAGEPERCENTAGE Optional Decimal Retainage percentage. Valid values are from 0.00 to 100.00
LASTAPPLICATIONNO Optional Decimal Displays the most recent billing application number. The default value is 0, and it is updated automatically when a new invoice for the project is generated. The value is not reset if an invoice is deleted.
SCOPE Optional string Expected scope of work of this project contract.
INCLUSIONS Optional string Inclusions as part of this project contract.
EXCLUSIONS Optional string Exclusions as part of this project contract.
TERMS Optional string Terms of this project contract.
SCHEDULEDSTARTDATE Optional Date Scheduled start date.
ACTUALSTARTDATE Optional Date Actual start date.
SCHEDULEDCOMPLETIONDATE Optional Date Scheduled completion date.
REVISEDCOMPLETIONDATE Optional Date Revised completion date.
SUBSTANTIALCOMPLETIONDATE Optional Date Substantial completion date.
ACTUALCOMPLETIONDATE Optional Date Actual completion date.
NOTICETOPROCEED Optional Date Date of notice to proceed.
RESPONSEDUE Optional Date Date response is due.
EXECUTEDON Optional Date Date this project contract was executed.
SCHEDULEIMPACT Optional string Impact to the schedule due to this project contract.
INTERNALREFNO Optional string Internal reference number.
INTERNALINITIATEDBY Optional string EMPLOYEEID of the employee who initiated this project contract.
INTERNALVERBALBY Optional string EMPLOYEEID of the employee who verbally agreed to this project contract.
INTERNALISSUEDBY Optional string EMPLOYEEID of the employee who issued this project contract.
INTERNALISSUEDON Optional Date Date this project contract was issued.
INTERNALAPPROVEDBY Optional string EMPLOYEEID of the employee who internally approved this project contract.
INTERNALAPPROVEDON Optional Date Date this project contract was internally approved.
INTERNALSIGNEDBY Optional string EMPLOYEEID of the employee who signed this project contract.
INTERNALSIGNEDON Optional Date Date this project contract was internally signed.
INTERNALSOURCE Optional string Internal source for this project contract.
INTERNALSOURCEREFNO Optional string Internal source reference number.
EXTERNALREFNO Optional string External reference number.
EXTERNALVERBALBY Optional string CONTACTNAME of the contact who verbally accepted this project contract.
EXTERNALAPPROVEDBY Optional string CONTACTNAME of the contact who approved this project contract.
EXTERNALAPPROVEDON Optional Date Date this project contract was externally approved.
EXTERNALSIGNEDBY Optional string CONTACTNAME of the contact who signed this project contract.
EXTERNALSIGNEDON Optional Date Date this project contract was externally signed.

Update Project Contract

update

The PROJECTID of a project contract can only be updated if one of these conditions is true:

  • No project contract lines exist in the contract
  • Project contract lines exist and the updated PROJECTID on the project contract is still the same or at a higher level in hierarchy than any project contract line project
  • The location on the updated project is the same location or a parent location of the projects on the project contract lines

Set a project contract to inactive:

<update>
    <PROJECTCONTRACT>
        <RECORDNO>3</RECORDNO>
        <STATUS>inactive</STATUS>
    </PROJECTCONTRACT>
</update>
Parameters
Name Required Type Description
PROJECTCONTRACT Required object Object type to update

PROJECTCONTRACT

Name Required Type Description
RECORDNO Optional integer ID of the project contract to update. Required if PROJECTCONTRACTID is not provided.
PROJECTCONTRACTID Optional string User-defined ID for this project contract. Required if RECORDNO is not provided.
NAME Required string Name of this project contract.
PROJECTID Required string ID of a valid active project that this contract will belong to. The project must be at the same entity level as the project contract, and must have a location set. You can create multiple project contracts for a single project.
CUSTOMERID Required string CUSTOMERID of the customer that this contact is associated with.
CONTRACTDATE Required Date Date for this project contract.
BILLABLE Required Boolean Whether the project contract is billable or not.
  • true
  • false - (default) the project contract is excluded when generating invoices.
DESCRIPTION Optional string Description for this project contract.
PROJECTCONTRACTTYPEID Optional string PROJECTCONTRACTTYPEID of the selected project contract type.
ARCHITECT.CONTACTNAME Optional string Name of the architect contact.
SUPDOCID Optional string supdocid of an attachment
STATUS Optional Enum Whether the project contract is active or inactive.
  • active (default)
  • inactive - excluded when generating invoices
RETAINAGEPERCENTAGE Optional Decimal Retainage percentage. Valid values are from 0.00 to 100.00
LASTAPPLICATIONNO Optional Decimal Displays the most recent billing application number. The default value is 0, and it is updated automatically when a new invoice for the project is generated. The value is not reset if an invoice is deleted.
SCOPE Optional string Expected scope of work of this project contract.
INCLUSIONS Optional string Inclusions as part of this project contract.
EXCLUSIONS Optional string Exclusions as part of this project contract.
TERMS Optional string Terms of this project contract.
SCHEDULEDSTARTDATE Optional Date Scheduled start date.
ACTUALSTARTDATE Optional Date Actual start date.
SCHEDULEDCOMPLETIONDATE Optional Date Scheduled completion date.
REVISEDCOMPLETIONDATE Optional Date Revised completion date.
SUBSTANTIALCOMPLETIONDATE Optional Date Substantial completion date.
ACTUALCOMPLETIONDATE Optional Date Actual completion date.
NOTICETOPROCEED Optional Date Date of notice to proceed.
RESPONSEDUE Optional Date Date response is due.
EXECUTEDON Optional Date Date this project contract was executed.
SCHEDULEIMPACT Optional string Impact to the schedule due to this project contract.
INTERNALREFNO Optional string Internal reference number.
INTERNALINITIATEDBY Optional string EMPLOYEEID of the employee who initiated this project contract.
INTERNALVERBALBY Optional string EMPLOYEEID of the employee who verbally agreed to this project contract.
INTERNALISSUEDBY Optional string EMPLOYEEID of the employee who issued this project contract.
INTERNALISSUEDON Optional Date Date this project contract was issued.
INTERNALAPPROVEDBY Optional string EMPLOYEEID of the employee who internally approved this project contract.
INTERNALAPPROVEDON Optional Date Date this project contract was internally approved.
INTERNALSIGNEDBY Optional string EMPLOYEEID of the employee who signed this project contract.
INTERNALSIGNEDON Optional Date Date this project contract was internally signed.
INTERNALSOURCE Optional string Internal source for this project contract.
INTERNALSOURCEREFNO Optional string Internal source reference number.
EXTERNALREFNO Optional string External reference number.
EXTERNALVERBALBY Optional string CONTACTNAME of the contact who verbally accepted this project contract.
EXTERNALAPPROVEDBY Optional string CONTACTNAME of the contact who approved this project contract.
EXTERNALAPPROVEDON Optional Date Date this project contract was externally approved.
EXTERNALSIGNEDBY Optional string CONTACTNAME of the contact who signed this project contract.
EXTERNALSIGNEDON Optional Date Date this project contract was externally signed.

Delete Project Contract

A project contract can only be deleted if all project contract lines that belong to the contract have a null or zero BILLEDPRICE values.

All project contract lines that belong to a project contract will be deleted with the project contract.

delete

<delete>
    <object>PROJECTCONTRACT</object>
    <keys>12</keys>
</delete> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACT
keys Required string Comma-separated list of RECORDNO of the project contract to delete.

Project Contract Lines

The Project Contract Line object contains header information for a billable project contract line, and is the owning object for project contract line entries. This header information includes billing information, summaries of price totals from project contract line entries, and additional information including scope and schedule.

You can set each project contract line to a billing type, which affects how billing values are derived:

  • Progress bill
    • Each contract line has its own billing value
    • Billing value can be updated by price changes from project change orders
  • Time and material
    • Map project tasks to project contract lines for accurate time and material billing
    • Cost plus to max
    • Unlimited costs billed to customer
    • Costs limited to contract line price
    • Universal rate tables that can be applied to contract line for markup or passthrough purposes

Project contract lines can be nested.

Get Project Contract Line Object Definition

lookup

List all the fields and relationships for the project contract line object:

<lookup>
    <object>PROJECTCONTRACTLINE</object>
</lookup>
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACTLINE

Query and List Project Contract Lines

query

For a specified project contract, list the record number and total revised price of each project contract line:

<query>
    <object>PROJECTCONTRACTLINE</object>
    <filter>
        <equalto>
            <field>PROJECTCONTRACTID</field>
            <value>001</value>
        </equalto>
    </filter>
    <select>
        <field>RECORDNO</field>
        <field>TOTALREVISEDPRICE</field>
    </select>
</query> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACTLINE
filter Optional object Filter expression to limit the response to only objects that match the 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).
select Required sequence The names of the fields that you want included in the response, and an optional aggregate function such as count or sum. Returning all fields is not supported.
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 Query options:
  • 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>
  • Specify the returnformat for the response: xml (default), json, or csv
     <returnformat>json</returnformat>
pagesize Optional integer Maximum number of matching objects to return in the response, between 1 and 2000 items (Default: 100)
offset Optional integer Point at which to start indexing into records (Default: 0)

Get a Project Contract Line

read

Return all fields of a specified project contract line

<read>
    <object>PROJECTCONTRACTLINE</object>
    <keys>12</keys>
    <fields>*</fields>
</read> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACTLINE
keys Required string Comma-separated list of RECORDNO of the project contract line to get.
fields Optional string Comma-separated list of fields on the object to get. To return all fields, omit the element or provide * for the value.
For best performance and predictability, limit the number of fields.
returnFormat Optional string Data format for the response body:
  • xml (default)
  • json
  • csv

Create Project Contract Line

create

Create a simple project contract line:

<create>
    <PROJECTCONTRACTLINE>
        <PROJECTCONTRACTID>001</PROJECTCONTRACTID>
        <PROJECTCONTRACTLINEID>001-57</PROJECTCONTRACTLINEID>
        <NAME>Initial Electrical</NAME>
        <CONTRACTLINEDATE>03/17/2022</CONTRACTLINEDATE>
        <ACCOUNTNO>5001.02</ACCOUNTNO>
        <BILLINGTYPE>Progress bill</BILLINGTYPE>
        <MAXIMUMBILLING>Total price</MAXIMUMBILLING>
        <PROJECTID>DIM - BTI</PROJECTID>
        <ITEMID>Services</ITEMID>
    </PROJECTCONTRACTLINE>
</create>

Create a project contract line that has two entries:

<create>
    <PROJECTCONTRACTLINE>
        <PROJECTCONTRACTID>002</PROJECTCONTRACTID>
        <PROJECTCONTRACTLINEID>002-08</PROJECTCONTRACTLINEID>
        <NAME>studs</NAME>
        <CONTRACTLINEDATE>03/17/2022</CONTRACTLINEDATE>
        <ACCOUNTNO>5001.02</ACCOUNTNO>
        <BILLINGTYPE>Progress bill</BILLINGTYPE>
        <MAXIMUMBILLING>Total price</MAXIMUMBILLING>
        <PROJECTID>DIM - BTI</PROJECTID>
        <ITEMID>Framing</ITEMID>
        <PROJECTCONTRACTLINEENTRIES>
            <PROJECTCONTRACTLINEENTRY>
                <WFTYPE>original</WFTYPE>
                <PRICE>120</PRICE>
                <PRICEEFFECTIVEDATE>01/01/2022</PRICEEFFECTIVEDATE>
            </PROJECTCONTRACTLINEENTRY>
            <PROJECTCONTRACTLINEENTRY>
                <WFTYPE>revision</WFTYPE>
                <PRICE>220</PRICE>
                <PRICEEFFECTIVEDATE>03/17/2022</PRICEEFFECTIVEDATE>
            </PROJECTCONTRACTLINEENTRY>
        </PROJECTCONTRACTLINEENTRIES>
    </PROJECTCONTRACTLINE>
</create>
Parameters
Name Required Type Description
PROJECTCONTRACTLINE Required object Object type to create.

PROJECTCONTRACTLINE

Name Required Type Description
PROJECTCONTRACTID Required string PROJECTCONTRACTID of the selected project contract that this line belongs to. Must be an active project.
PROJECTCONTRACTLINEID Required string User-defined unique* ID.
The PROJECTCONTRACTLINEID must be unique among all the project contract lines for the specified project contract. A PROJECTCONTRACTID.PROJECTCONTRACTLINEID combination must be unique within a company.
NAME Required string Name of this project contract line.
DESCRIPTION Optional string Description of this project contract line.
PARENTID Optional string PROJECTCONTRACTLINEID of the parent project contract line, for nesting project contract lines. Project contract lines do not roll up to parents. Must be an active project contract line.
PROJECTCONTRACTLINEENTRIES Optional array of PROJECTCONTRACTLINEENTRY Project contract line entries.
CHANGEREQUESTENTRIES Optional array of CHANGEREQUESTENTRY Collection of CR Entries that are linked to this project contract line.
STATUS Optional Enum Status the project contract line.
  • active (default)
  • inactive when generating invoices.
CONTRACTLINEDATE Required Date Date
ACCOUNTNO Required string ACCOUNTNO of the GL Account for this project contract line. Must be an active account.
RETAINAGEPERCENTAGE Optional Decimal Retainage percentage.
BILLABLE Required Boolean Whether the project contract line is billable or not.
  • false (default) The project contract line is excluded when generating invoices.
  • true
BILLINGTYPE Required Enum Billing Type.
  • Progress bill (default)
  • Time and material
MAXIMUMBILLING Required Enum Maximum billing method.
  • Total price (default) This is the only valid value when BILLINGTYPE is set to Progress bill.
  • Specified amount
  • No maximum
Validation and processing rules:
  • When BILLINGTYPE is set to Progress bill the MAXIMUMBILLING must be set to Total price.
  • When the BILLINGTYPE is set to Time and material and the MAXIMUMBILLING is set to Specified amount, the amount billed against this project contract line cannot exceed the MAXIMUMBILLINGAMOUNT value during invoice generation.
  • When the BILLINGTYPE is set to Time and material and the MAXIMUMBILLING is set to No maximum, the MAXIMUMBILLINGAMOUNT value is ignored during invoice generation, and the invoice amount against this project contract line does not have a limit.
MAXIMUMBILLINGAMOUNT Optional Currency The maximum amount that can be billed against this project contract line. See MAXIMUMBILLING for validation and processing rules.
SCOPE Optional string Expected scope of work as part of this project contract line.
INCLUSIONS Optional string Inclusions.
EXCLUSIONS Optional string Exclusions.
TERMS Optional string Terms.
SCHEDULEDSTARTDATE Optional Date Scheduled start date.
ACTUALSTARTDATE Optional Date Actual start date.
SCHEDULEDCOMPLETIONDATE Optional Date Scheduled completion date.
REVISEDCOMPLETIONDATE Optional Date Revised completion date.
SUBSTANTIALCOMPLETIONDATE Optional Date Substantial completion date.
ACTUALCOMPLETIONDATE Optional Date Actual completion date.
NOTICETOPROCEED Optional Date Date of notice to proceed.
RESPONSEDUE Optional Date Response due date.
EXECUTEDON Optional Date Date this project contract line was executed.
SCHEDULEIMPACT Optional string Impact to the schedule due to this project contract line.
INTERNALREFNO Optional string Internal reference number.
INTERNALINITIATEDBY Optional string EMPLOYEEID of the employee who initiated this project contract line.
INTERNALVERBALBY Optional string EMPLOYEEID of the employee who verbally agreed to this project contract line.
INTERNALISSUEDBY Optional string EMPLOYEEID of the employee who issued this project contract line.
INTERNALISSUEDON Optional Date Date this project contract line was issued.
INTERNALAPPROVEDBY Optional string EMPLOYEEID of the employee who internally approved this project contract line.
INTERNALAPPROVEDON Optional Date Date this project contract line was internally approved.
INTERNALSIGNEDBY Optional string EMPLOYEEID of the employee who signed this project contract line.
INTERNALSIGNEDON Optional Date Date this project contract line was signed internally.
INTERNALSOURCE Optional string Internal source.
INTERNALSOURCEREFNO Optional string Internal source reference number.
EXTERNALREFNO Optional string External reference number
EXTERNALVERBALBY Optional string CONTACTNAME of the contact who verbally accepted this project contract line.
EXTERNALAPPROVEDBY Optional string CONTACTNAME of the contact who approved this project contract line.
EXTERNALAPPROVEDON Optional Date Date this project contract line was externally approved.
EXTERNALSIGNEDBY Optional string CONTACTNAME of the contact who signed this project contract line.
EXTERNALSIGNEDON Optional Date Date this project contract line was externally signed.
SUPDOCID Optional string Attachment ID
DEFAULTRATETABLEID Optional string RATETABLEID of the default rate table that is used when other rate tables aren’t specified. BILLINGTYPE must be Time and material.
PORATETABLEID Optional string RATETABLEID of the rate table for purchase orders. BILLINGTYPE must be Time and material.
APRATETABLEID Optional string RATETABLEID of the rate table for accounts payable. BILLINGTYPE must be Time and material.
GLRATETABLEID Optional string RATETABLEID of the rate table for general ledger. BILLINGTYPE must be Time and material.
CCRATETABLEID Optional string RATETABLEID of the rate table for credit card purchases. BILLINGTYPE must be Time and material.
EERATETABLEID Optional string RATETABLEID of the rate table for employee expenses. BILLINGTYPE must be Time and material.
CLASSID Optional string CLASSID of the selected class.
CONTRACTID Optional string CONTRACTID of the selected contract.
COSTTYPEID Optional string COSTTYPEID of the selected cost type.
DEPARTMENTID Optional string DEPARTMENTID of the department associated with this project contract line.
EMPLOYEEID Optional string EMPLOYEEID of the selected employee.
ITEMID Required string ITEMID of the selected item. Only active Items are allowed that are of Non-Inventory or Non-Inventory (Sales only) type.
PCCUSTOMERID Optional string CUSTOMERID of the customer on the project contract.
PROJECTID Required string PROJECTID for a valid, active project that is same as the project on the project contract or a descendant of that project.
TASKID Optional string TASKID of the task related to this project contract line. TASKID must be a task under the same project or parent project. You cannot use the same TASKID in more than one project contract line.
VENDORID Optional string VENDORID of the selected vendor.
WAREHOUSEID Optional string WAREHOUSEID of the selected warehouse.

Update Project Contract Line

update

The PROJECTID of a project contract line can only be updated if one of these conditions is true:

  • No project contract line lines exist in the contract
  • Project contract lines exist and the updated PROJECTID on the project contract line is still the same or at a higher level in hierarchy than any project contract line line project
  • The location on the updated project is the same location or a parent location of the projects on the project contract line lines

When a project contract line has been saved and project contract lines exist, all totals in the summary section of the project contract line need to be recalculated based on all lines saved to this project contract line.

Set a project contract line to inactive:

<update>
    <PROJECTCONTRACTLINE>
        <RECORDNO>27</RECORDNO>
        <STATUS>inactive</STATUS>
    </PROJECTCONTRACTLINE>
</update>

Updates the same project contract line, modifying the amount of an existing entry and adding a new entry:

<update>
    <PROJECTCONTRACTLINE>
        <PROJECTCONTRACTLINEID>002-08</PROJECTCONTRACTLINEID>
        <PROJECTCONTRACTLINEENTRIES>
            <PROJECTCONTRACTLINEENTRY>
                <RECORDNO>173</RECORDNO>
                <WFTYPE>revision</WFTYPE>
                <PRICE>300</PRICE>
                <PRICEEFFECTIVEDATE>04/01/2022</PRICEEFFECTIVEDATE>
            </PROJECTCONTRACTLINEENTRY>
            <PROJECTCONTRACTLINEENTRY>
                <WFTYPE>original</WFTYPE>
                <PRICE>179</PRICE>
                <PRICEEFFECTIVEDATE>04/01/2022</PRICEEFFECTIVEDATE>
            </PROJECTCONTRACTLINEENTRY>
        </PROJECTCONTRACTLINEENTRIES>
    </PROJECTCONTRACTLINE>
</update>
Parameters
Name Required Type Description
PROJECTCONTRACTLINE Required object Object type to update.

PROJECTCONTRACTLINE

Name Required Type Description
RECORDNO Required integer ID of the project contract line to update.
PROJECTCONTRACTLINEID Optional string User-defined ID for this project contract line.
NAME Required string Name of this project contract line.
DESCRIPTION Optional string Description of this project contract line.
PARENTID Optional string PROJECTCONTRACTLINEID of the parent project contract line, for nesting project contract lines. Must be an active project contract line.
PROJECTCONTRACTLINEENTRIES Optional array of PROJECTCONTRACTLINEENTRY Project contract line entries.
CHANGEREQUESTENTRIES Optional array of CHANGEREQUESTENTRY Collection of CR Entries that are linked to this project contract line.
STATUS Optional Enum Status the project contract line.
  • active (default)
  • inactive when generating invoices.
CONTRACTLINEDATE Required Date Date
ACCOUNTNO Required string ACCOUNTNO of the GL Account for this project contract line. Must be an active account.
RETAINAGEPERCENTAGE Optional Decimal Retainage percentage.
BILLABLE Required Boolean Whether the project contract line is billable or not.
  • false (default) The project contract line is excluded when generating invoices.
  • true
BILLINGTYPE Required Enum Billing Type.
  • Progress bill (default)
  • Time and material
MAXIMUMBILLING Required Enum Maximum billing method.
  • Total price (default) This is the only valid value when BILLINGTYPE is set to Progress bill.
  • Specified amount
  • No maximum
Validation and processing rules:
  • When BILLINGTYPE is set to Progress bill the MAXIMUMBILLING must be set to Total price.
  • When the BILLINGTYPE is set to Time and material and the MAXIMUMBILLING is set to Specified amount, the amount billed against this project contract line cannot exceed the MAXIMUMBILLINGAMOUNT value during invoice generation.
  • When the BILLINGTYPE is set to Time and material and the MAXIMUMBILLING is set to No maximum, the MAXIMUMBILLINGAMOUNT value is ignored during invoice generation, and the invoice amount against this project contract line does not have a limit.
MAXIMUMBILLINGAMOUNT Optional Currency The maximum amount that can be billed against this project contract line. See MAXIMUMBILLING for validation and processing rules.
SCOPE Optional string Expected scope of work as part of this project contract line.
INCLUSIONS Optional string Inclusions.
EXCLUSIONS Optional string Exclusions.
TERMS Optional string Terms.
SCHEDULEDSTARTDATE Optional Date Scheduled start date.
ACTUALSTARTDATE Optional Date Actual start date.
SCHEDULEDCOMPLETIONDATE Optional Date Scheduled completion date.
REVISEDCOMPLETIONDATE Optional Date Revised completion date.
SUBSTANTIALCOMPLETIONDATE Optional Date Substantial completion date.
ACTUALCOMPLETIONDATE Optional Date Actual completion date.
NOTICETOPROCEED Optional Date Date of notice to proceed.
RESPONSEDUE Optional Date Response due date.
EXECUTEDON Optional Date Date this project contract line was executed.
SCHEDULEIMPACT Optional string Impact to the schedule due to this project contract line.
INTERNALREFNO Optional string Internal reference number.
INTERNALINITIATEDBY Optional string EMPLOYEEID of the employee who initiated this project contract line.
INTERNALVERBALBY Optional string EMPLOYEEID of the employee who verbally agreed to this project contract line.
INTERNALISSUEDBY Optional string EMPLOYEEID of the employee who issued this project contract line.
INTERNALISSUEDON Optional Date Date this project contract line was issued.
INTERNALAPPROVEDBY Optional string EMPLOYEEID of the employee who internally approved this project contract line.
INTERNALAPPROVEDON Optional Date Date this project contract line was internally approved.
INTERNALSIGNEDBY Optional string EMPLOYEEID of the employee who signed this project contract line.
INTERNALSIGNEDON Optional Date Date this project contract line was signed internally.
INTERNALSOURCE Optional string Internal source.
INTERNALSOURCEREFNO Optional string Internal source reference number.
EXTERNALREFNO Optional string External reference number
EXTERNALVERBALBY Optional string CONTACTNAME of the contact who verbally accepted this project contract line.
EXTERNALAPPROVEDBY Optional string CONTACTNAME of the contact who approved this project contract line.
EXTERNALAPPROVEDON Optional Date Date this project contract line was externally approved.
EXTERNALSIGNEDBY Optional string CONTACTNAME of the contact who signed this project contract line.
EXTERNALSIGNEDON Optional Date Date this project contract line was externally signed.
SUPDOCID Optional string Attachment ID
DEFAULTRATETABLEID Optional string RATETABLEID of the default rate table that is used when other rate tables aren’t specified. BILLINGTYPE must be Time and material.
PORATETABLEID Optional string RATETABLEID of the rate table for purchase orders. BILLINGTYPE must be Time and material.
APRATETABLEID Optional string RATETABLEID of the rate table for accounts payable. BILLINGTYPE must be Time and material.
GLRATETABLEID Optional string RATETABLEID of the rate table for general ledger. BILLINGTYPE must be Time and material.
CCRATETABLEID Optional string RATETABLEID of the rate table for credit card purchases. BILLINGTYPE must be Time and material.
EERATETABLEID Optional string RATETABLEID of the rate table for employee expenses. BILLINGTYPE must be Time and material.
CLASSID Optional string CLASSID of the selected class.
CONTRACTID Optional string CONTRACTID of the selected contract.
COSTTYPEID Optional string COSTTYPEID of the selected cost type.
DEPARTMENTID Optional string DEPARTMENTID of the department associated with this project contract line.
EMPLOYEEID Optional string EMPLOYEEID of the selected employee.
ITEMID Required string ITEMID of the selected item Only active Items are allowed that are of Non-Inventory or Non-Inventory (Sales only) type.
PCCUSTOMERID Optional string CUSTOMERID of the customer on the project contract.
PROJECTID Required string PROJECTID for a valid, active project that is same as the project on the project contract or a descendant of that project.
TASKID Optional string TASKID of the task related to this project contract line.
VENDORID Optional string VENDORID of the selected vendor.
WAREHOUSEID Optional string WAREHOUSEID of the selected warehouse.

Delete Project Contract Line

A project contract line can only be deleted if all project contract lines that belong to the contract have a null or zero BILLEDPRICE values.

All project contract line entries that belong to a project contract line will be deleted with the project contract line.

delete

<delete>
    <object>PROJECTCONTRACT</object>
    <keys>12</keys>
</delete> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACTLINE
keys Required string Comma-separated list of RECORDNO of the project contract line to delete.

Project Contract Line Entries

A project contract line entry object is owned by a project contract line object and contains the information about a single line item on a project contract line. This information includes the price and markup of the item, a workflow type, and a price effective date.

Project contract line entries can only be created and updated through the owning project contract line objects.

PROJECTCONTRACTLINEENTRY

Name Required Type Description
WFTYPE Required Enum Workflow type of the project contract line entry.
  • Original (default)
  • Revision
  • Pending change
  • Approved change
  • Forecast
  • Other
PRICEEFFECTIVEDATE Required Date Price effective date.
PRICE Optional Currency The price of the project contract line entry. If a value is not provided, it is calculated as QTY * UNITPRICE.
QTY Optional Decimal Quantity
UNITPRICE Optional Numeric / Currency with Decimal 10 Unit rate for price.
PRICEMARKUPPERCENT Optional Numeric Percent of the price that will be applied as markup.
PRICEMARKUPAMOUNT Optional Numeric Fixed amount to be applied as markup. If a value is not provided, it is calculated as PRICE * PRICEMARKUPPERCENT / 100.
EUOM Optional string External Unit of Measure.
MEMO Optional string Memo
CLASSID Optional string ID of the selected class
CONTRACTID Optional string ID of the selected contract
COSTTYPEID Optional string ID of the selected cost type. You must also supply a TASKID, and the cost type must belong to the task.
DEPARTMENTID Optional string ID of the selected department.
EMPLOYEEID Optional string ID of the selected employee.
ITEMID Optional string ID of the selected item.
PROJECTID Optional string ID of a valid, active project that is same as the project on the project contract or a descendant of that project.
TASKID Optional string ID of the task related to this project contract line entry. You must also supply a PROJECTID, and the task must belong to the project.
VENDORID Optional string ID of the selected vendor.
WAREHOUSEID Optional string ID of the selected warehouse

Get Project Contract Line Entry Object Definition

lookup

List all the fields and relationships for the project contract line entry object:

<lookup>
    <object>PROJECTCONTRACTLINEENTRY</object>
</lookup>
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACTLINEENTRY

Query and List Project Contract Line Entries

query

List the record number and vendor for each project contract line entry:

<query>
    <object>PROJECTCONTRACTLINEENTRY</object>
    <select>
        <field>RECORDNO</field>
        <field>VENDORID</field>
    </select>
</query> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACTLINEENTRY
filter Optional object Filter expression to limit the response to only objects that match the 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).
select Required sequence The names of the fields that you want included in the response, and an optional aggregate function such as count or sum. Returning all fields is not supported.
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 Query options:
  • 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>
  • Specify the returnformat for the response: xml (default), json, or csv
     <returnformat>json</returnformat>
pagesize Optional integer Maximum number of matching objects to return in the response, between 1 and 2000 items (Default: 100)
offset Optional integer Point at which to start indexing into records (Default: 0)

Get a Project Contract Line Entry

read

Return all fields of a specified project contract line entry

<read>
    <object>PROJECTCONTRACTLINEENTRY</object>
    <keys>137</keys>
    <fields>*</fields>
</read> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACTLINEENTRY
keys Required string Comma-separated list of RECORDNO of the project contract line entry to get.
fields Optional string Comma-separated list of fields on the object to get. To return all fields, omit the element or provide * for the value.
For best performance and predictability, limit the number of fields.
returnFormat Optional string Data format for the response body:
  • xml (default)
  • json
  • csv

Delete Project Contract Line Entry

delete

<delete>
    <object>PROJECTCONTRACTLINEENTRY</object>
    <keys>7</keys>
</delete> 
Parameters
Name Required Type Description
object Required string Use PROJECTCONTRACTLINEENTRY
keys Required string Comma-separated list of RECORDNO of the project contract line entry to delete.

Provide feedback