Versions Compared

Key

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

Overview


This web service inserts or updates a single expense document based on a detailed expense document structure (PwsExpenseDocumentDetail). The service returns the identity (PwsClientRef) of the client that has been inserted or updated. The caller can optionally request that the full cost card detail (PwsClientElement) be included in the response.

...

Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information.


SessionTicket

String

Yes 


Click here for more information.


Comments

String

No 


Cost Card save / update comments


CostCard

PwsCostCardDetail

On Insert: No

On Update Yes 


The cost card details of an existing cost card


DeleteReceipts

PwsReceiptRef[???]

No 


The receipts to be deleted


ExpenseDocumentIdentity

PwsExpenseDocumentRef

On Insert: yes

On Update: No 


The expense document associated with the cost card


ExpenseDocumentTimestamp

String

No


This is a Base64 encoded timestamp utilized for expense document locking. To protect against overwriting other changes, you may optionally echo back the timestamp returned by a call to PwsSaveExpenseDocument (or a prior call to PwsSaveExpenseDocument). This will cause the request to fail if any change has been made between invocations of PwsGetExpenseDocument and PwsSaveExpenseDocument.


FullDetailFlag

Boolean

No 

false

If set to 'true', include full detailed cost card element in response


InsertReceiptsIfNotFoundOnUpdateFlag

Boolean

No


If set to 'true', specified receipts that are not found during an update will instead be inserted


ResourceIdentity

PwsResourceRef

On Insert: No

On Update No 


The identity of the resource associated with the cost card


SaveReceipts

PwsReceiptDetail[???]

On Insert: No

On Update: No 


The receipt details to be inserted or updated


UpdateReceiptsIfFoundOnInsertFlag

Boolean

deprecated


** This field has been deprecated **


PreserveCostCardStatusFlag

Boolean

deprecate



** This field has been deprecated **


CostCards

PwsCostCardDetail[???]

On Insert: Yes

On Update: No


The cost card details of a new cost card


...

Code Block
languagexml
titleExample 01 - New Cost CardCreating a new cost card
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:tim="http://projectorpsa.com/DataContracts/Shared/TimeAndCost/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveExpenseDocumentCostCard>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AfMtiadjKEErha/5LNfifA==</req:SessionTicket>
            <tim:Comments>Cost Card Creation</tim:Comments>
            <tim:ExpenseDocumentIdentity>
               <com:DocumentNumber>ER00727</com:DocumentNumber>
            </tim:ExpenseDocumentIdentity>
            <tim:FullDetailFlag>true</tim:FullDetailFlag>
            <tim:InsertReceiptsIfNotFoundOnUpdateFlag>false</tim:InsertReceiptsIfNotFoundOnUpdateFlag>
            <tim:ResourceIdentity>
               <com:ResourceReferenceSystemId>E123</com:ResourceReferenceSystemId>
            </tim:ResourceIdentity>
            <tim:CostCards>
               <tim:PwsCostCardDetail>
                  <tim:Description>New Cost Card Insert</tim:Description>
                  <tim:DescriptionClearFlag>false</tim:DescriptionClearFlag>
                  <tim:ExpenseTypeIdentity>
                     <com:ExpenseTypeName>Travel</com:ExpenseTypeName>
                  </tim:ExpenseTypeIdentity>
                  <tim:IncurredAmount>500.15</tim:IncurredAmount>
                  <tim:IncurredDate>2018-03-19T00:00:00.000Z</tim:IncurredDate>
                  <tim:IncurredOpsCurrencyIdentity>
                     <com:OpsCurrencyCode>USD</com:OpsCurrencyCode>
                  </tim:IncurredOpsCurrencyIdentity>
                  <tim:LocationClearFlag>false</tim:LocationClearFlag>
                  <tim:LocationIdentity>
                     <com:LocationName>USA</com:LocationName>
                  </tim:LocationIdentity>
                  <tim:NonBillableFlag>false</tim:NonBillableFlag>
                  <tim:PayeeVendorClearFlag>false</tim:PayeeVendorClearFlag>
                  <tim:PayeeVendorIdentity>
                     <com:VendorName>ABC Card</com:VendorName>
                  </tim:PayeeVendorIdentity>
                  <tim:ProjectIdentity>
                     <com:ProjectCode>P001395-001</com:ProjectCode>
                  </tim:ProjectIdentity>
                  <tim:ResourceClearFlag>false</tim:ResourceClearFlag>
                  <tim:ResourceIdentity>
                     <com:ResourceReferenceSystemId>E123</com:ResourceReferenceSystemId>
                  </tim:ResourceIdentity>
                  <tim:TotalAmountDisbursedCurrency>500.15</tim:TotalAmountDisbursedCurrency>
                  <tim:Udf1ClearFlag>false</tim:Udf1ClearFlag>
                  <tim:Udf2ClearFlag>false</tim:Udf2ClearFlag>
                  <tim:ExternalGroupingIdentifier>1</tim:ExternalGroupingIdentifier>
                  <tim:ExternalGroupingIdentifierClearFlag>false</tim:ExternalGroupingIdentifierClearFlag>
               </tim:PwsCostCardDetail>
            </tim:CostCards>
         </pws:serviceRequest>
      </pws:PwsSaveExpenseDocumentCostCard>
   </soapenv:Body>
</soapenv:Envelope>
Code Block
languagexml
titleExample 02 - Updating an existing cost card
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:tim="http://projectorpsa.com/DataContracts/Shared/TimeAndCost/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveExpenseDocumentCostCard>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AfMtiadjKEErha/5LNfifA==</req:SessionTicket>
            <tim:Comments>Cost Card Save</tim:Comments>
            <tim:CostCard>
               <com:CostCardUid>1152921504614515312</com:CostCardUid>
               <tim:Description>Cost Card Save</tim:Description>
               <tim:DescriptionClearFlag>false</tim:DescriptionClearFlag>
               <tim:ExpenseTypeIdentity>
                  <com:ExpenseTypeName>Meals</com:ExpenseTypeName>
               </tim:ExpenseTypeIdentity>
               <tim:IncurredAmount>50.75</tim:IncurredAmount>
               <tim:IncurredDate>2018-03-19T00:00:00.000Z</tim:IncurredDate>
               <tim:IncurredOpsCurrencyIdentity>
                  <com:OpsCurrencyCode>USD</com:OpsCurrencyCode>
               </tim:IncurredOpsCurrencyIdentity>
               <tim:LocationClearFlag>false</tim:LocationClearFlag>
               <tim:LocationIdentity>
                  <com:LocationName>USA</com:LocationName>
               </tim:LocationIdentity>
               <tim:NonBillableFlag>false</tim:NonBillableFlag>
               <tim:OverrideClientAmountClearFlag>false</tim:OverrideClientAmountClearFlag>
               <tim:PayeeVendorClearFlag>false</tim:PayeeVendorClearFlag>
               <tim:PayeeVendorIdentity>
                  <com:VendorName>ABC Card</com:VendorName>
               </tim:PayeeVendorIdentity>
               <tim:ProjectIdentity>
                  <com:ProjectCode>P001395-001</com:ProjectCode>
               </tim:ProjectIdentity>
               <tim:ResourceClearFlag>false</tim:ResourceClearFlag>
               <tim:ResourceIdentity>
                  <com:ResourceReferenceSystemId>E123</com:ResourceReferenceSystemId>
               </tim:ResourceIdentity>
               <tim:TotalAmountDisbursedCurrency>50.75</tim:TotalAmountDisbursedCurrency>
               <tim:Udf1>
                  <com:UdfName>Attendees</com:UdfName>
                  <com:NumericValue>2</com:NumericValue>
               </tim:Udf1>
               <tim:Udf1ClearFlag>false</tim:Udf1ClearFlag>
               <tim:Udf2>
                  <com:UdfName>Purpose</com:UdfName>
                  <com:TextValue>Client Meeting</com:TextValue>
               </tim:Udf2>
               <tim:Udf2ClearFlag>false</tim:Udf2ClearFlag>
               <tim:ExternalGroupingIdentifier>2</tim:ExternalGroupingIdentifier>
               <tim:ExternalGroupingIdentifierClearFlag>false</tim:ExternalGroupingIdentifierClearFlag>
            </tim:CostCard>
            <tim:ExpenseDocumentIdentity>
               <com:DocumentNumber>ER00727</com:DocumentNumber>
            </tim:ExpenseDocumentIdentity>
            <tim:FullDetailFlag>true</tim:FullDetailFlag>
            <tim:InsertReceiptsIfNotFoundOnUpdateFlag>false</tim:InsertReceiptsIfNotFoundOnUpdateFlag>
            <tim:ResourceIdentity>
               <com:ResourceDisplayName>E123</com:ResourceDisplayName>
            </tim:ResourceIdentity>
         </pws:serviceRequest>
      </pws:PwsSaveExpenseDocumentCostCard>
   </soapenv:Body>
</soapenv:Envelope>