Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
titlePwsContractLineItemDetail
  • PwsContractLineItemDetail
  • ContractLineItemName: String
  • EngagementCode: String
  • EngagementId: Int32
  • EngagementUid: Int64
  • EngagementIdentity: PwsEngagementRef
  • CostContractTerms: String
  • DeferredRevenueOpeningBalanceEngCurrency: Double
  • DeferredRevenueOpeningBalanceEngGLCurrency: Double
  • HoldbackAmount: Double
  • HoldbackPercent: Double
  • HoldbackType: String
  • MaxCostContractAmount: Double
  • MaxTimeContractAmount: Double
  • MinCostContractAmount: Double
  • MinTimeContractAmount: Double
  • RevenueEarnedByDate: DateTime
  • RevenueRecognitionMethod: String
  • RevenueSchedule: PwsRevenueScheduleItem
  • TimeContractTerms: String
  • ContractTypeIdentity: PwsContractTypeRef
  • InheritPurchaseOrderNumberFlag: Boolean
  • ModelContractedHoursAndOveragesFlag: Boolean
  • OverageProjectIdentity: PwsProjectRef
  • PurchaseOrderNumber
    •  ContractLineItemCode: String (27)
    •  ContractLineItemId: Int32
    •  ContractLineItemUid: Int64
    •  ContractLineItemName: String (255)
    •  EngagementIdentity: PwsEngagementRef
    •  CostContractTerms: String (1)
    •  DeferredRevenueOpeningBalanceEngCurrency: Double
    •  DeferredRevenueOpeningBalanceEngGLCurrency: Double
    •  HoldbackAmount: Double
    •  HoldbackPercent: Double
    •  HoldbackType: String (1)
    •  MaxCostContractAmount: Double
    •  MaxTimeContractAmount: Double
    •  MinCostContractAmount: Double
    •  MinTimeContractAmount: Double
    •  RevenueEarnedByDate: DateTime
    •  RevenueRecognitionMethod: String (1)
    •  RevenueSchedule: PwsRevenueScheduleItem[]
    •  TimeContractTerms: String (1)
    •  ContractTypeIdentity: PwsContractTypeRef
    •  InheritPurchaseOrderNumberFlag: Boolean
    •  ModelContractedHoursAndOveragesFlag: Boolean
    •  OverageProjectIdentity: PwsProjectRef
    •  PurchaseOrderNumber: String (50)
    •  Timestamp: String

Elements


E001395115292150460708337720000150005000251000020000500015000P001395-002

Element

Data Type

Required?

Default

Description

Sample Data

ContractLineItemNameContractLineItemCode

String (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 name.

eb Services Engagement

EngagementCode

String

The engagement code associated with the numbering)


The contract line item code is a unique identifier for a contract line item.

P001163-CL1


EngagementIdContractLineItemId

Int32

No


The engagement id associated with the contract line item id is a unique identifier for a contract line item. For internal use only.


EngagementUidContractLineItemUid

Int64The engagement Uid associated with the contract line item. This is a

On Insert: No

On Update: Yes (if ContractLineItemCode is not supplied)


A unique and immutable identifer for an engagement.

Id for a contract line item

1152921504607049238

ContractLineItemName

String (255)

On Insert: Yes

On Update: No


The contract line item name 

Contract 192810

EngagementIdentity

PwsEngagementRef

CostContractTerms

String

The cost contract terms 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 isis 

T

DeferredRevenueOpeningBalanceEngCurrency

Double

The deferred revenue 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

StringThe holdback type associated

On Insert: No

On Update: No

N

The holdback type associated with the contract line item.

"N" for none

"A" for Amount

"P" for PercentPercent 

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

The minimum time contract 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 by a date (in midnight UTC) by which the contract line item is expected to be complete.

2018-06-30T00:00:00Z

RevenueRecognitionMethod

String


RevenueRecognitionMethod

String (1)

On Insert: No

On Update: No

P

The revenue recognition method associated with the contract line item. "PThe 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 scheduleLeave blank for non-billable engagements.

P

RevenueSchedule

PwsRevenueScheduleItem[]

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 whtn when the RevenueRecogntionMethod = 'R'.


TimeContractTerms

String The time contract terms associated (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

PwsContractTypeRef

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

BooleanInherit Purchase Order Number from Parent Client

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

PwsProjectRefFor Contract Line Items

On Insert: No

On Update: No


For contract line items that are defined to model Contracted Hours contracted hours and Overagesoverages, this is the project to which hours that exceed a set number within a date range will be transferred.


PurchaseOrderNumber

String Purchase Order Number (50)

On Insert: No

On Update: No


The purchase order number associated with the Contract Line Item

PO-1234

Usage Example(s)

...

contract line item


TimestampString

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
languagexml
titleSimple Insert
collapsetrue
                         <ContractLineItemDetail><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>
            <ContractLineItemCode>P001395-CL1</ContractLineItemCode><req:RequestId>1</req:RequestId>
              <req:SessionTicket>AQjGXNV/cmNJJg8Zok3S4Q==</req:SessionTicket>
            <sch:ContractLineItem>
               <com:ContractLineItemName>PD-2001D</com:ContractLineItemName>
               <com:EngagementIdentity>
       <ContractLineItemId i:nil="true"/>
                           <ContractLineItemUid>1152921504607083377</ContractLineItemUid>
                               <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
languagexml
titleExample 01 - CLI without a revenue schedule
collapsetrue
                         <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
languagexml
titleExample 02 - CLI with a revenue schedule
collapsetrue
                         <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"/>
                           <b:PurchaseOrderNumber>P-001</b:PurchaseOrderNumber>
                        </b:ContractLineItemDetail>


Code Block
languagexml
titleExample 03 - CLI modeled with contracted hours and overage
collapsetrue
<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>
  <ContractLineItemName>Web Services Engagement</ContractLineItemName>                            <EngagementIdentity><req:RequestId>1</req:RequestId>
            <req:SessionTicket>AdDMw48w49OxnEUPGUuMSw==</req:SessionTicket>
             <sch:ContractLineItem>
   <EngagementCode>E001395</EngagementCode>            <com:ContractLineItemName>Service Contract A</com:ContractLineItemName>
                <EngagementId i:nil="true"/><com:EngagementIdentity>
                  <com:EngagementCode>P001320</com:EngagementCode>
           <EngagementUid>1152921504607324698</EngagementUid>    </com:EngagementIdentity>
                 <com:MaxTimeContractAmount>50000</com:MaxTimeContractAmount>
     </EngagementIdentity>          <com:MinTimeContractAmount>50000</com:MinTimeContractAmount>
               <com:RevenueSchedule>
 <CostContractTerms>T</CostContractTerms>                 <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>
                     <com:Notes>January Contract</com:Notes>
   <HoldbackPercent i:nil="true"/>              </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>
               <com:ContractTypeIdentity>
<RevenueRecognitionMethod i:nil="true"/>                 <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>