...
This structure contains the complete set of information about a Contract Line Itemcontract line item. The structure is used both to retrieve detailed contract line item information and to pass information about a contract line item back to the server to get updated.
...
Panel | ||
---|---|---|
| ||
|
Elements
Element | Data Type | Description Required? | Default | (on insert/update)Description | Sample Data | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ContractLineItemCode | String | Unique Contract Line Item Code | P001395-CL1 | ContractLineItemId | Int32 | Contract Line Item Id. For internal use only. | ContractLineItemUid | Int64 | The Contract Line Item Uid is a unique and immutable(27) | One of ContractLineItemCode or ContractLineItemUid is required Note: The ContractLineItemCode does not have to be supplied if the installation is configured to use manual contract line item numbering) | The contract line item code is a unique identifier for a contract line item | .1152921504607083377 | P001163-CL1 | |
ContractLineItemId | String | Contract Line Item Name | Web Services Engagement | EngagementIdentity | PwsEngagementRef | |||||||||
CostContractTerms | String | Cost Contract Terms "F" for Fixed Price "T" for Time and Materials "C" for Time and Materials with a cap Null on update means leave as is | C | C | DeferredRevenueOpeningBalanceEngCurrency | Double | Deferred Revenue Opening Balance in the Engagement Currency | 20000 | DeferredRevenueOpeningBalanceEngGLCurrency | Double | Deferred Revenue Opening Balance in the General Ledger Currency | 15000 | HoldbackAmount | Double | Holdback Amount. Applies only when holdback type is A; null otherwise. | 5000 | HoldbackPercent | Double | Holdback Percent. Applies only when holdback type is P; null otherwise. | 0.25 |
HoldbackType | String | Holdback Type. "N" for none "A" for Amount "P" for Percent | N | A | MaxCostContractAmount | Double | Maximum Cost Contract Amount Must be specified for cost contract terms F or C, and null otherwise. | 5000 | MaxTimeContractAmount | Double | Maximum Time Contract Amount Must be specified for time contract terms F or C, and null otherwise. | 20000 | MinCostContractAmount | Double | Minimum Cost Contract Amount Must be specified for cost contract terms F, and null otherwise. | 10000 | MinTimeContractAmount | Double | Minimum Time Contract Amount Must be specified for time contract terms F, and null otherwise. | 15000 | RevenueEarnedByDate | DateTime | The date that revenue should be earned by | 2018-06-30T00:00:00Z | RevenueRecognitionMethod | String | Revenue Recognition Method "P" for percent complete "R" for revenue schedule Leave blank for non-billable engagements. | R | RevenueSchedule | PwsRevenueScheduleItem |
Element
Data Type
Required?
Default
Description
ContractLineItemName
String
Contract Line Item Name
EngagementCode
String
Engagement Code. A unique identifier for an Engagement
E001395
EngagementId
Int32
Engagement Id. A unique identifier for an Engagement. For internal use only.
EngagementUid
Int64
Engagement Unique Id. A unique and immutable identifer for an engagement.
EngagementIdentity
CostContractTerms
String
Cost Contract Terms
"F" for Fixed Price
"T" for Time and Materials
"C" for Time and Materials with a cap
Null on update means leave as is
DeferredRevenueOpeningBalanceEngCurrency
Double
Deferred Revenue Opening Balance in the Engagement Currency
DeferredRevenueOpeningBalanceEngGLCurrency
Double
Deferred Revenue Opening Balance in the General Ledger Currency
HoldbackAmount
Double
Holdback Amount. Applies only when holdback type is A; null otherwise.
HoldbackPercent
Double
Holdback Percent. Applies only when holdback type is P; null otherwise.
HoldbackType
String
Holdback Type.
"N" for none
"A" for Amount
"P" for Percent
MaxCostContractAmount
Double
Maximum Cost Contract Amount
Must be specified for cost contract terms F or C, and null otherwise.
MaxTimeContractAmount
Double
Maximum Time Contract Amount
Must be specified for time contract terms F or C, and null otherwise.
MinCostContractAmount
Double
Maximum Cost Contract Amount
Must be specified for cost contract terms F or C, and null otherwise.
MinTimeContractAmount
Double
Minimum Time Contract Amount
Must be specified for time contract terms F, and null otherwise.
RevenueEarnedByDate
DateTime
This is a date by which an engagement is expected to finish.
RevenueRecognitionMethod
String
Revenue Recognition Method
"P" for percent complete
"R" for revenue schedule
Leave blank for non-billable engagements.
RevenueSchedule
TimeContractTerms
String
Time Contract Terms
"T" for Time & Materials
"F" for Fixed Price
"C" for Not to Exceed
ContractTypeIdentity
InheritPurchaseOrderNumberFlag
Boolean
Inherit Purchase Order Number from Parent Client (if any). Please see Inheritance for more information.
ModelContractedHoursAndOveragesFlag
Boolean
When set to "true", the contract will be modeled to account for contracted hours and overages. This setting is typically used when setting up service contracts where a client purchases a fixed amount of hours for a specific time period. Time that exceeds the allottment is then billed at a different rate. This overage is handled by a separate project. Only available for Fixed Price time contracts using a revenue schedule
OverageProjectIdentity
For Contract Line Items that are defined to model Contracted Hours and Overages, this is the project to which hours that exceed a set number within a date range will be transferred.
PurchaseOrderNumber
String
Purchase Order Number associated with the Contract Line Item
Usage Example(s)
...
language | xml |
---|---|
title | Example 01 - without a revenue schedule |
collapse | true |
Int32 | No | The contract line item id is a unique identifier for a contract line item. For internal use only | |||
ContractLineItemUid | Int64 | On Insert: No On Update: Yes (if ContractLineItemCode is not supplied) | A unique and immutable Id for a contract line item | 1152921504607049238 | |
ContractLineItemName | String (255) | On Insert: Yes On Update: No | The contract line item name | Contract 192810 | |
EngagementIdentity | On Insert: No On Update: No | The engagement associated with the contract line item | |||
CostContractTerms | String (1) | On Insert: No On Update: No | The cost contract terms associated with the contract line item: "F" for Fixed Price "T" for Time and Materials "C" for Time and Materials with a cap (Not to Exceed NO Hard Cap) "H" for Not To Exceed with Hard Cap "N" for Non-chargeable Null on update means leave as is | T | |
DeferredRevenueOpeningBalanceEngCurrency | Double | On Insert: No On Update: No | 0 | The deferred revenue opening balance associated with the contract line item (in the engagement currency) | 0 |
DeferredRevenueOpeningBalanceEngGLCurrency | Double | On Insert: No On Update: No | 0 | The deferred revenue opening balance associated with the contract line item (in the general ledger currency) | 0 |
HoldbackAmount | Double | On Insert: No On Update: No | The holdback amount associated with the contract line item. Applies only when holdback type is A; null otherwise. | ||
HoldbackPercent | Double | On Insert: No On Update: No | The holdback percent associated with the contract line item. Applies only when holdback type is P; null otherwise. | ||
HoldbackType | String | On Insert: No On Update: No | N | The holdback type associated with the contract line item "N" for none "A" for Amount "P" for Percent | N |
MaxCostContractAmount | Double | On Insert: No On Update: No | The maximum cost contract amount associated with the contract line item Must be specified for cost contract terms F or C, and null otherwise | ||
MaxTimeContractAmount | Double | On Insert: No On Update: No | The maximum time contract amount associated with the contract line item Must be specified for time contract terms F or C, and null otherwise | ||
MinCostContractAmount | Double | On Insert: No On Update: No | The minimum cost contract amount associated with the contract line item Must be specified for cost contract terms F or C, and null otherwise | ||
MinTimeContractAmount | Double | On Insert: No On Update: No | The minimum time contract amount associated with the contract line item Must be specified for time contract terms F, and null otherwise | ||
RevenueEarnedByDate | DateTime | On Insert: No On Update: No | This is a date (in midnight UTC) by which the contract line item is expected to be complete. | ||
RevenueRecognitionMethod | String (1) | On Insert: No On Update: No | P | The revenue recognition method associated with the contract line item. The RevenueRecognitionMethod will be NULL unless it is a fixed price for time contract. Otherwise will be P or R. "P" for percent complete "R" for revenue schedule | P |
RevenueSchedule | On Insert: No On Update: No | The information associated with the revenue and/or contracted hours schedule associated with the contract line item. Applies only when the RevenueRecogntionMethod = 'R'. | |||
TimeContractTerms | String (1) | On Insert: Yes (if ContractTypeIdentity is not supplied) On Update: No | T | The time contract terms associated with the contract line item "T" for Time & Materials "F" for Fixed Price "C" for Not to Exceed | T |
ContractTypeIdentity | On Insert: Yes (if TimeContractTerms is not supplied) On Update: No | The contract type identity associated with the contract line item. For custom contract line items, this will be NULL. | |||
InheritPurchaseOrderNumberFlag | Boolean | On Insert: No On Update: No | true | If set to 'true', the purchase order number is inherited from the parent client (if any). Please see Inheritance for more information. | true/false |
ModelContractedHoursAndOveragesFlag | Boolean | On Insert: No On Update: No | Dependent on ContractTypeIdentity, if a ContractTypeIdentity is not supplied the default is false | When set to 'true', the contract will be modeled to account for contracted hours and overages. This setting is typically used when setting up service contracts where a client purchases a fixed amount of hours for a specific time period. Time that exceeds the allottment is then billed at a different rate. This overage is handled by a separate project. Only available for Fixed Price time contracts using a revenue schedule. | true/false |
OverageProjectIdentity | On Insert: No On Update: No | For contract line items that are defined to model contracted hours and overages, this is the project to which hours that exceed a set number within a date range will be transferred. | |||
PurchaseOrderNumber | String (50) | On Insert: No On Update: No | The purchase order number associated with the contract line item | ||
Timestamp | String | On Insert: No On Update: No | This is an optimistic locking timestamp that, if provided on update request, will cause the request to fail when the timestamp stored in the database does not match the provided value. |
Usage Example(s)
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
<soapenv:Header/>
<soapenv:Body>
<pws:PwsSaveContractLineItem>
<pws:serviceRequest>
<req:RequestId>1</req:RequestId>
<req:SessionTicket>AQjGXNV/cmNJJg8Zok3S4Q==</req:SessionTicket>
<sch:ContractLineItem>
<com:ContractLineItemName>PD-2001D</com:ContractLineItemName>
<com:EngagementIdentity>
<com:EngagementCode>01312024E001001</com:EngagementCode>
</com:EngagementIdentity>
<com:CostContractTerms>T</com:CostContractTerms>
<com:TimeContractTerms>T</com:TimeContractTerms>
<com:InheritPurchaseOrderNumberFlag>false</com:InheritPurchaseOrderNumberFlag>
<com:ModelContractedHoursAndOveragesFlag>false</com:ModelContractedHoursAndOveragesFlag>
<com:PurchaseOrderNumber>SOAP UI</com:PurchaseOrderNumber>
</sch:ContractLineItem>
<sch:EngagementCurrencyIdentity>
<com:CurrencyCode>USD</com:CurrencyCode>
</sch:EngagementCurrencyIdentity>
<sch:StealLockFlag>false</sch:StealLockFlag>
<sch:ContractTypeClearFlag>false</sch:ContractTypeClearFlag>
<sch:OverageProjectClearFlag>false</sch:OverageProjectClearFlag>
<sch:FullDetailFlag>true</sch:FullDetailFlag>
<sch:RevalueAction>R</sch:RevalueAction>
<sch:RevenueScheduleClearFlag>false</sch:RevenueScheduleClearFlag>
</pws:serviceRequest>
</pws:PwsSaveContractLineItem>
</soapenv:Body>
</soapenv:Envelope> |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<b:ContractLineItemDetail>
<b:ContractLineItemCode>P001163-CL1</b:ContractLineItemCode>
<b:ContractLineItemId i:nil="true"/>
<b:ContractLineItemUid>1152921504607049238</b:ContractLineItemUid>
<b:ContractLineItemName>Contract 192810</b:ContractLineItemName>
<b:EngagementIdentity>
<b:EngagementCode>P001163</b:EngagementCode>
<b:EngagementId i:nil="true"/>
<b:EngagementUid>1152921504607293498</b:EngagementUid>
</b:EngagementIdentity>
<b:CostContractTerms>T</b:CostContractTerms>
<b:DeferredRevenueOpeningBalanceEngCurrency>0</b:DeferredRevenueOpeningBalanceEngCurrency>
<b:DeferredRevenueOpeningBalanceEngGLCurrency>0</b:DeferredRevenueOpeningBalanceEngGLCurrency>
<b:HoldbackAmount i:nil="true"/>
<b:HoldbackPercent i:nil="true"/>
<b:HoldbackType>N</b:HoldbackType>
<b:MaxCostContractAmount i:nil="true"/>
<b:MaxTimeContractAmount i:nil="true"/>
<b:MinCostContractAmount i:nil="true"/>
<b:MinTimeContractAmount i:nil="true"/>
<b:RevenueEarnedByDate i:nil="true"/>
<b:RevenueRecognitionMethod>P</b:RevenueRecognitionMethod>
<b:RevenueSchedule/>
<b:TimeContractTerms>T</b:TimeContractTerms>
<b:ContractTypeIdentity i:nil="true"/>
<b:InheritPurchaseOrderNumberFlag>true</b:InheritPurchaseOrderNumberFlag>
<b:ModelContractedHoursAndOveragesFlag>false</b:ModelContractedHoursAndOveragesFlag>
<b:OverageProjectIdentity i:nil="true"/>
<b:PurchaseOrderNumber i:nil="true"/>
</b:ContractLineItemDetail>
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<b:ContractLineItemDetail> <b:ContractLineItemCode>P001320-CL1</b:ContractLineItemCode> <b:ContractLineItemId i:nil="true"/> <b:ContractLineItemUid>1152921504607083461</b:ContractLineItemUid> <b:ContractLineItemName>Web Services Documentation</b:ContractLineItemName> <b:EngagementIdentity> <b:EngagementCode>P001320</b:EngagementCode> <b:EngagementId i:nil="true"/> <b:EngagementUid>1152921504607326368</b:EngagementUid> </b:EngagementIdentity> <b:CostContractTerms>T</b:CostContractTerms> <b:DeferredRevenueOpeningBalanceEngCurrency>0</b:DeferredRevenueOpeningBalanceEngCurrency> <b:DeferredRevenueOpeningBalanceEngGLCurrency>0</b:DeferredRevenueOpeningBalanceEngGLCurrency> <b:HoldbackAmount i:nil="true"/> <b:HoldbackPercent i:nil="true"/> <b:HoldbackType>N</b:HoldbackType> <b:MaxCostContractAmount i:nil="true"/> <b:MaxTimeContractAmount>30000</b:MaxTimeContractAmount> <b:MinCostContractAmount i:nil="true"/> <b:MinTimeContractAmount>30000</b:MinTimeContractAmount> <b:RevenueEarnedByDate i:nil="true"/> <b:RevenueRecognitionMethod>R</b:RevenueRecognitionMethod> <b:RevenueSchedule> <b:PwsRevenueScheduleItem> <b:EndDate>2018-01-31T00:00:00Z</b:EndDate> <b:ScheduledRevenueAmount>10000</b:ScheduledRevenueAmount> <b:StartDate i:nil="true"/> <b:ContractedMinutes i:nil="true"/> <b:Notes>January Bucket</b:Notes> </b:PwsRevenueScheduleItem> <b:PwsRevenueScheduleItem> <b:EndDate>2018-02-28T00:00:00Z</b:EndDate> <b:ScheduledRevenueAmount>10000</b:ScheduledRevenueAmount> <b:StartDate>2018-02-01T00:00:00Z</b:StartDate> <b:ContractedMinutes i:nil="true"/> <b:Notes>February Bucket</b:Notes> </b:PwsRevenueScheduleItem> <b:PwsRevenueScheduleItem> <b:EndDate>2018-03-31T00:00:00Z</b:EndDate> <b:ScheduledRevenueAmount>10000</b:ScheduledRevenueAmount> <b:StartDate>2018-03-01T00:00:00Z</b:StartDate> <b:ContractedMinutes i:nil="true"/> <b:Notes>March Bucket</b:Notes> </b:PwsRevenueScheduleItem> </b:RevenueSchedule> <b:TimeContractTerms>F</b:TimeContractTerms> <b:ContractTypeIdentity i:nil="true"/> <b:InheritPurchaseOrderNumberFlag>true</b:InheritPurchaseOrderNumberFlag> <b:ModelContractedHoursAndOveragesFlag>false</b:ModelContractedHoursAndOveragesFlag> <b:OverageProjectIdentity i:nil="true"/> <ContractLineItemDetail> <b:PurchaseOrderNumber>P-001</b:PurchaseOrderNumber> </b:ContractLineItemDetail> |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<soapenv:Envelope <ContractLineItemCode>P001395-CL1</ContractLineItemCode> <ContractLineItemId i:nil="true"/> <ContractLineItemUid>1152921504607083377</ContractLineItemUid> <ContractLineItemName>Web Services Engagement</ContractLineItemName> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/"> <soapenv:Header/> <soapenv:Body> <pws:PwsSaveContractLineItem> <pws:serviceRequest> <EngagementIdentity> <req:RequestId>1</req:RequestId> <req:SessionTicket>AdDMw48w49OxnEUPGUuMSw==</req:SessionTicket> <EngagementCode>E001395</EngagementCode> <sch:ContractLineItem> <com:ContractLineItemName>Service Contract A</com:ContractLineItemName> <EngagementId i:nil="true"/> <com:EngagementIdentity> <com:EngagementCode>P001320</com:EngagementCode> <EngagementUid>1152921504607324698</EngagementUid> </com:EngagementIdentity> </EngagementIdentity><com:MaxTimeContractAmount>50000</com:MaxTimeContractAmount> <com:MinTimeContractAmount>50000</com:MinTimeContractAmount> <CostContractTerms>T</CostContractTerms> <com:RevenueSchedule> <com:PwsRevenueScheduleItem> <DeferredRevenueOpeningBalanceEngCurrency>0</DeferredRevenueOpeningBalanceEngCurrency> <com:EndDate>2018-01-31T00:00:00.000Z</com:EndDate> <DeferredRevenueOpeningBalanceEngGLCurrency>0</DeferredRevenueOpeningBalanceEngGLCurrency> <com:ScheduledRevenueAmount>25000</com:ScheduledRevenueAmount> <HoldbackAmount i:nil="true"/> <com:ContractedMinutes>2400</com:ContractedMinutes> <HoldbackPercent i:nil="true"/><com:Notes>January Contract</com:Notes> </com:PwsRevenueScheduleItem> <HoldbackType>N</HoldbackType> <com:PwsRevenueScheduleItem> <MaxCostContractAmount i:nil="true"/> <com:EndDate>2018-02-28T00:00:00.000Z</com:EndDate> <com:ScheduledRevenueAmount>25000</com:ScheduledRevenueAmount> <MaxTimeContractAmount i:nil="true"/> <com:StartDate>2018-02-01T00:00:00.000Z</com:StartDate> <MinCostContractAmount i:nil="true"/> <com:ContractedMinutes>2400</com:ContractedMinutes> <MinTimeContractAmount i:nil="true"/> <com:Notes>February Contract</com:Notes> </com:PwsRevenueScheduleItem> <RevenueEarnedByDate i:nil="true"/> </com:RevenueSchedule> <RevenueRecognitionMethod i:nil="true"/><com:ContractTypeIdentity> <com:ContractTypeName>Contract Type - Revenue Schedule</com:ContractTypeName> <RevenueSchedule/> </com:ContractTypeIdentity> <com:InheritPurchaseOrderNumberFlag>false</com:InheritPurchaseOrderNumberFlag> <TimeContractTerms>T</TimeContractTerms> <com:ModelContractedHoursAndOveragesFlag>true</com:ModelContractedHoursAndOveragesFlag> <ContractTypeIdentity i:nil="true"/><com:OverageProjectIdentity> <com:ProjectCode>P001320-003</com:ProjectCode> <InheritPurchaseOrderNumberFlag>true</InheritPurchaseOrderNumberFlag> </com:OverageProjectIdentity> <com:PurchaseOrderNumber>WS1320-SCA</com:PurchaseOrderNumber> <ModelContractedHoursAndOveragesFlag>false</ModelContractedHoursAndOveragesFlag> </sch:ContractLineItem> <sch:EngagementCurrencyIdentity> <OverageProjectIdentity i:nil="true"/> <com:CurrencyCode>USD</com:CurrencyCode> </sch:EngagementCurrencyIdentity> <PurchaseOrderNumber>PO-1234/PurchaseOrderNumber> <sch:StealLockFlag>true</sch:StealLockFlag> <sch:ContractTypeClearFlag>false</sch:ContractTypeClearFlag> <Timestamp>AAAAAA61fo0=</Timestamp> <sch:OverageProjectClearFlag>false</sch:OverageProjectClearFlag> </pws:serviceRequest> </pws:PwsSaveContractLineItem> </soapenv:Body> </ContractLineItemDetail>soapenv:Envelope> |