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 client detail (PwsClientElement) be included in the response.

Request Format

Panel
titlePwsSaveExpenseDocument Request
  • PwsSaveExpenseDocument

Request Elements

...

Element

...

Data Type

...

Required?

...

Default

...

Description

...

Sample Data

...

RequestId

...

Int32

...

No

...

Click here for more information.

...

SessionTicket

...

String

...

Yes

...

Click here for more information.

...

AdministratorComments

...

String

...

No

...

Administrator comments to be stored with the expense document upon save

...

ApproverIdentities

...

PwsUserRef

...

No

...

Projector users who have the ability to approve this expense document

...

DeleteCostCards

...

PwsCostCardRef

...

No

...

Key fields identifying the cost cards that should be deleted from the expense document

...

DeleteReceipts

...

PwsReceiptRef

...

No

...

Key fields identifying the receipts that should be deleted from the expense documents

...

ExcludeCreditCostCardsFlag

...

Boolean

...

No

...

true

...

If set to 'true', credit cost cards will be excluded from the expense document

...

ExpenseDocument

...

PwsExpenseDocumentDetail

...

On Insert: Yes

On Update: No

...

The detailed expense document information to be inserted or updated

...

ExpenseDocumentIdentity

...

PwsExpenseDocumentRef

...

On Insert: No

On Update: Yes

...

The unique keys used to identify the expense document

...

FullDetailFlag

...

Boolean

...

No

...

false

...

If set to 'true', include full detailed expense document element in response

...

InsertReceiptsIfNotFoundOnUpdateFlag

...

Boolean

...

No

...

false

...

If set to 'true' and an existing expense document is being updated, receipts identified in this web service will be inserted

...

ResourceIdentity

...

PwsResourceRef

...

On Insert: Yes (for expense documents only)

On Update: No

...

The resource associated with the expense document

...

RetrieveCostCardsFlag

...

Boolean

...

No

...

false

...

If set to 'true', the cost cards on the referenced expense document will be included in the response

...

RetrieveReceiptsFlag

...

Boolean

...

No

...

false

...

If set to 'true', the receipts on the referenced expense document will be included in the response

...

SaveCostCards

...

PwsCostCardDetail

...

No

...

The detailed cost card information for the cost card(s) to be inserted or updated

...

SaveReceipts

...

PwsReceiptDetail

...

No

...

The detailed receipt information for the reciept(s) to be inserted or updated

...

SendNotificationEmailFlag

...

Boolean

...

No

...

false

...

If set to 'true', a notification email will be sent to all the users who are able to approve the expense document

...

SubmissionComments

...

String

...

No

...

The comments that will be sent to the approvers upon submission

...

Overview


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

Request Format


Panel
titlePwsSaveExpenseDocument Request
  • PwsSaveExpenseDocument

Request Elements


Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information.


SessionTicket

String

Yes


Click here for more information.

AfzlAZe2idqL1YMlz4UgWg==

AdministratorComments

String (4000)

No


Administrator comments to be stored with the expense document upon save.


ApproverIdentities

PwsUserRef[]

No


Projector users who should be notified of the submission. Applies only when submitting the expense document.


DeleteCostCards

PwsCostCardRef[]

No


Key fields identifying the cost cards that should be deleted from the expense document.


DeleteReceipts

PwsReceiptRef[]

No


Key fields identifying the receipts that should be deleted from the expense document.


ExcludeCreditCostCardsFlag

Boolean

No

true

If set to 'true', credit cost cards will be excluded from the expense document in the response. Applies only when FullDetailFlag is 'true'.

true

ExpenseDocument

PwsExpenseDocumentDetail

On Insert: Yes

On Update: No


The detailed expense document information to be inserted or updated.


ExpenseDocumentIdentity

PwsExpenseDocumentRef

On Insert: No

On Update: No


The unique keys used to identify the expense document. This may be used when submitting an expense document without making any changes.


FullDetailFlag

Boolean

No

false

If set to 'true', all the cost cards on the expense document will be submittedUpdateReceiptsIfFoundOnInsertFlaginclude full detailed expense document element in response.

true

InsertReceiptsIfNotFoundOnUpdateFlag

Boolean

No

false

If set to 'true' and an expenes existing expense document is being insertedupdated, receipts identified in this web service will be inserted /updated

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.

PreserveCostCardStatusFlag

Boolean

deprecated

** This field has been deprecated

Request Usage Example(s)

...

languagexml
titleExample 01
collapsetrue

...

if they are not found.

false

ResourceIdentity

PwsResourceRef

No


*** this field has been deprecated ***


RetrieveCostCardsFlag

Boolean

No

false

If set to 'true', the cost cards on the referenced expense document will be included in the response. Applies only when FullDetailFlag is 'true'.

true

RetrieveReceiptsFlag

Boolean

No

false

If set to 'true', the receipts on the referenced expense document will be included in the response. Applies only when FullDetailFlag is 'true'.

true

SaveCostCards

PwsCostCardDetail[]

No


The detailed cost card information for the cost card(s) to be inserted or updated.


SaveReceipts

PwsReceiptDetail[]

No


The detailed receipt information for the reciept(s) to be inserted or updated.


SendNotificationEmailFlag

Boolean

No

false

If set to 'true', a notification email will be sent to all the users who are identified in ApproverIdentities.

true

SubmissionComments

String (4000)

No


The comments that will be sent to the approvers upon submission

Submitted

SubmitFlag

Boolean

No

false

If set to 'true', all the cost cards on the expense document will be submitted after any changes have been saved.

true

UpdateReceiptsIfFoundOnInsertFlag

Boolean

deprecated


** This field has been deprecated **

true

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 PwsGetExpenseDocument (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.


PreserveCostCardStatusFlag

Boolean

deprecated


** This field has been deprecated **


Request Usage Example(s)


Code Block
languagexml
titleExample 01
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:PwsSaveExpenseDocument>
         <pws:serviceRequest>
     <tim:ResourceIdentity>       <req:SessionTicket>AcdrvYuS1YjvT27fonW7Cw==</req:SessionTicket>
           <com <tim:ResourceReferenceSystemId>E125<ExcludeCreditCostCardsFlag>true</comtim:ResourceReferenceSystemId>ExcludeCreditCostCardsFlag>
               </tim:ResourceIdentity><tim:ExpenseDocument>
               <tim:VendorIdentity>:CashAdvanceReturnAmount>1.00</tim:CashAdvanceReturnAmount>
               <tim:DocumentName>Expense   <com:VendorNumber>Beth Brown</com:VendorNumber>Document A</tim:DocumentName>
               <<tim:DocumentType>E</tim:VendorIdentity>DocumentType>
               <tim:Vendor>LocationIdentity>
                  <com:VendorNumber>Beth Brown<LocationName>USA</com:VendorNumber>LocationName>
               </tim:LocationIdentity>
               <com:ExpenseReportPayeeFlag>true</com:ExpenseReportPayeeFlag><tim:ResourceIdentity>
                  <com:InactiveFlag>false<ResourceReferenceSystemId>E125</com:InactiveFlag>ResourceReferenceSystemId>
                  <com:ResourceVendorFlag>true</com:ResourceVendorFlag></tim:ResourceIdentity>
                  <com:VendorInvoicePayeeFlag>false</com:VendorInvoicePayeeFlag><tim:VendorIdentity>
                  <com:SubcontractorInvoicePayeeFlag>false<VendorNumber>Beth Brown</com:SubcontractorInvoicePayeeFlag>VendorNumber>
               </tim:Vendor>VendorIdentity>
               <tim:SubcontractorInvoiceReferenceNumberClearFlag>false</tim:SubcontractorInvoiceReferenceNumberClearFlag>Vendor>
                  <tim<com:VendorInvoiceReferenceNumberClearFlag>false<VendorNumber>Beth Brown</tim:VendorInvoiceReferenceNumberClearFlag>com:VendorNumber>
                  <<com:ExpenseReportPayeeFlag>true</tim:ExpenseDocument>com:ExpenseReportPayeeFlag>
                  <tim<com:FullDetailFlag>true<InactiveFlag>false</tim:FullDetailFlag>com:InactiveFlag>
                  <tim<com:InsertReceiptsIfNotFoundOnUpdateFlag>false<ResourceVendorFlag>true</tim:InsertReceiptsIfNotFoundOnUpdateFlag>com:ResourceVendorFlag>
                  <tim:ResourceIdentity><com:VendorInvoicePayeeFlag>false</com:VendorInvoicePayeeFlag>
                  <com:ResourceReferenceSystemId>E125<SubcontractorInvoicePayeeFlag>false</com:ResourceReferenceSystemId>SubcontractorInvoicePayeeFlag>
               </tim:ResourceIdentity>Vendor>
               <tim:RetrieveCostCardsFlag>false<SubcontractorInvoiceReferenceNumberClearFlag>false</tim:RetrieveCostCardsFlag>SubcontractorInvoiceReferenceNumberClearFlag>
               <tim:RetrieveReceiptsFlag>false<VendorInvoiceReferenceNumberClearFlag>false</tim:RetrieveReceiptsFlag>VendorInvoiceReferenceNumberClearFlag>
            <tim:SaveCostCards>
</tim:ExpenseDocument>
              <tim:PwsCostCardDetail>FullDetailFlag>true</tim:FullDetailFlag>
            <tim:InsertReceiptsIfNotFoundOnUpdateFlag>false</tim:InsertReceiptsIfNotFoundOnUpdateFlag>
         <tim:Description>Breakfast</tim:Description>   <tim:ResourceIdentity>
               <tim<com:DescriptionClearFlag>false<ResourceReferenceSystemId>E125</timcom:DescriptionClearFlag>ResourceReferenceSystemId>
            </tim:ResourceIdentity>
            <tim:ExpenseTypeIdentity>RetrieveCostCardsFlag>false</tim:RetrieveCostCardsFlag>
            <tim:RetrieveReceiptsFlag>false</tim:RetrieveReceiptsFlag>
         <com:ExpenseTypeName>Meals</com:ExpenseTypeName>   <tim:SaveCostCards>
               </tim<tim:ExpenseTypeIdentity>PwsCostCardDetail>
                  <tim:IncurredAmount>7.99<Description>Breakfast</tim:IncurredAmount>Description>
                  <tim:IncurredDate>2018-02-06T00:00:00.000Z<DescriptionClearFlag>false</tim:IncurredDate>DescriptionClearFlag>
                  <tim:IncurredOpsCurrencyIdentity>ExpenseTypeIdentity>
                     <com:OpsCurrencyCode>USD<ExpenseTypeName>Meals</com:OpsCurrencyCode>ExpenseTypeName>
                  </tim:IncurredOpsCurrencyIdentity>ExpenseTypeIdentity>
                  <tim:IncurredVatAmount>0<IncurredAmount>7.99</tim:IncurredVatAmount>IncurredAmount>
                  <tim:LocationClearFlag>false<:IncurredDate>2018-02-06T00:00:00.000Z</tim:LocationClearFlag>IncurredDate>
                  <tim:LocationIdentity>IncurredOpsCurrencyIdentity>
                     <com:LocationName>USA<OpsCurrencyCode>USD</com:LocationName>OpsCurrencyCode>
                  </tim:LocationIdentity>IncurredOpsCurrencyIdentity>
                  <tim:NonBillableFlag>false<IncurredVatAmount>0</tim:NonBillableFlag>IncurredVatAmount>
                  <tim:OverrideClientAmountClearFlag>false<LocationClearFlag>false</tim:OverrideClientAmountClearFlag>LocationClearFlag>
                  <tim:PayeeVendorClearFlag>false</tim:PayeeVendorClearFlag>LocationIdentity>
                  <tim:PayeeVendorIdentity>   <com:LocationName>USA</com:LocationName>
                  <com:VendorNumber>Beth Brown</com:VendorNumber></tim:LocationIdentity>
                  <<tim:NonBillableFlag>false</tim:PayeeVendorIdentity>NonBillableFlag>
                  <tim:ProjectIdentity>OverrideClientAmountClearFlag>false</tim:OverrideClientAmountClearFlag>
                     <com:ProjectCode>P001407-001</com:ProjectCode><tim:PayeeVendorClearFlag>false</tim:PayeeVendorClearFlag>
                  </tim:ProjectIdentity><tim:PayeeVendorIdentity>
                     <tim<com:ResourceClearFlag>false<VendorNumber>Beth Brown</timcom:ResourceClearFlag>VendorNumber>
                  <tim</tim:ResourceIdentity>PayeeVendorIdentity>
                  <tim:ProjectIdentity>
  <com:ResourceReferenceSystemId>E125</com:ResourceReferenceSystemId>                   </tim:ResourceIdentity><com:ProjectCode>P001407-001</com:ProjectCode>
                  <tim:TotalAmountDisbursedCurrency>7.99<</tim:TotalAmountDisbursedCurrency>ProjectIdentity>
                  <tim:Udf1ClearFlag>false<ResourceClearFlag>false</tim:Udf1ClearFlag>ResourceClearFlag>
                  <tim:Udf2ClearFlag>false</tim:Udf2ClearFlag>ResourceIdentity>
                     <tim<com:ExternalGroupingIdentifierClearFlag>false<ResourceReferenceSystemId>E125</tim:ExternalGroupingIdentifierClearFlag>com:ResourceReferenceSystemId>
                  </tim:PwsCostCardDetail>
ResourceIdentity>
           </tim:SaveCostCards>       <tim:TotalAmountDisbursedCurrency>7.99</tim:TotalAmountDisbursedCurrency>
     <tim:SendNotificationEmailFlag>true</tim:SendNotificationEmailFlag>             <tim:SubmissionComments>Submitted<Udf1ClearFlag>false</tim:SubmissionComments>Udf1ClearFlag>
                  <tim:SubmitFlag>true<Udf2ClearFlag>false</tim:SubmitFlag>Udf2ClearFlag>
                  <tim:UpdateReceiptsIfFoundOnInsertFlag>true<ExternalGroupingIdentifierClearFlag>false</tim:UpdateReceiptsIfFoundOnInsertFlag>ExternalGroupingIdentifierClearFlag>
         </pws:serviceRequest>       </pwstim:PwsSaveExpenseDocument>PwsCostCardDetail>
     </       </tim:SaveCostCards>
            <tim:SendNotificationEmailFlag>true</tim:SendNotificationEmailFlag>
            <tim:SubmissionComments>Submitted</tim:SubmissionComments>
            <tim:SubmitFlag>true</tim:SubmitFlag>
         </pws:serviceRequest>
      </pws:PwsSaveExpenseDocument>
   </soapenv:Body>
</soapenv:Envelope>

...

Panel
titlePwsSaveExpenseDocument Response

...

Element

Data Type

Description

Sample Data

Messages

PwsMessage[]

The web service response status and message. Click here for more information.


ResponseId

Int32

Click here for more information.

0

Status

RequestStatus

Click here for more information.


ServerTimestampUtc

DateTime

Click here for more information.

2018-02-06T17:51:24.722311Z

CostCardResults

PwsSaveCostCardResult[]

The error details for any failed cost card inserts or updates.


ExpenseDocument

PwsExpenseDocumentElement

The details of the expense document (NULL if FullDetailFlag is 'false').


ExpenseDocumentIdentity

PwsExpenseDocumentRef

The key fields of the expense document.


ReceiptResults

PwsSaveReceiptResult[]

The error details for any failed receipt inserts or updates.


SaveSucceededFlag

Boolean

Response Usage Example(s)

...

languagexml
titleExample 01
collapsetrue

If set to 'true', the expense document was successfully saved. The service may successfully save changes to an expense document, but fail during submission.

true

Response Usage Example(s)


Code Block
languagexml
titleExample 01
collapsetrue
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsSaveExpenseDocumentResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsSaveExpenseDocumentResult xmlns:a="http://projectorpsa.com/DataContracts/Shared/TimeAndCost/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <Messages xmlns="http://projectorpsa.com/CommonServices/" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
            <ResponseId xmlns="http://projectorpsa.com/CommonServices/">0</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-02-06T17:51:24.722311Z</ServerTimestampUtc>
            <a:CostCardResults i:nil="true"/>
            <a:ExpenseDocument>
               <a:AllowAttachReceiptsToCcFlag>true</a:AllowAttachReceiptsToCcFlag>
               <a:AllowAttachReceiptsToEdFlag>true</a:AllowAttachReceiptsToEdFlag>
               <a:CostCards/>
               <a:DisbursedCurrencyIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                  <b:CurrencyCode>USD</b:CurrencyCode>
                  <b:CurrencyId i:nil="true"/>
                  <b:CurrencyUid>1152921504606851838</b:CurrencyUid>
               </a:DisbursedCurrencyIdentity>
               <a:DocumentCount>0</a:DocumentCount>
               <a:ExpenseDocumentDetail>
                  <DocumentNumber xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">ER00695</DocumentNumber>
                  <ExpenseDocumentId i:nil="true" xmlns="http://projectorpsa.com/DataContracts/Shared/Common/"/>
                  <ExpenseDocumentUid xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">1152921504607683542</ExpenseDocumentUid>
                  <a:CashAdvanceReturnAmount>1</a:CashAdvanceReturnAmount>
                  <a:CostCenterIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                     <b:CostCenterId i:nil="true"/>
                     <b:CostCenterName>Section B</b:CostCenterName>
                     <b:CostCenterNumber>Section B</b:CostCenterNumber>
                     <b:CostCenterUid>1152921504606884477</b:CostCenterUid>
                  </a:CostCenterIdentity>
                  <a:DocumentName>Expense Document A</a:DocumentName>
                  <a:DocumentType>E</a:DocumentType>
                  <a:LocationIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                     <b:LocationId i:nil="true"/>
                     <b:LocationName>USA</b:LocationName>
                     <b:LocationUid>1152921504606855985</b:LocationUid>
                  </a:LocationIdentity>
                  <a:ResourceIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                     <b:ResourceDisplayName>Beth Brown</b:ResourceDisplayName>
                     <b:ResourceId i:nil="true"/>
                     <b:ResourceReferenceSystemId>E125</b:ResourceReferenceSystemId>
                     <b:ResourceUid>1152921504607111786</b:ResourceUid>
                  </a:ResourceIdentity>
                  <a:VendorIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                     <b:VendorId i:nil="true"/>
                     <b:VendorName>Beth Brown</b:VendorName>
                     <b:VendorUid>1152921504607055834</b:VendorUid>
                     <b:VendorNumber>Beth Brown</b:VendorNumber>
                  </a:VendorIdentity>
                  <a:VendorInvoiceDate i:nil="true"/>
                  <a:VendorInvoiceReferenceNumber i:nil="true"/>
                  <a:Vendor xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                     <b:VendorId i:nil="true"/>
                     <b:VendorName>Beth Brown</b:VendorName>
                     <b:VendorUid>1152921504607055834</b:VendorUid>
                     <b:VendorNumber>Beth Brown</b:VendorNumber>
                     <b:ExpenseReportPayeeFlag>true</b:ExpenseReportPayeeFlag>
                     <b:InactiveFlag>false</b:InactiveFlag>
                     <b:ResourceVendorFlag>true</b:ResourceVendorFlag>
                     <b:VendorInvoicePayeeFlag>false</b:VendorInvoicePayeeFlag>
                     <b:SubcontractorInvoicePayeeFlag>true</b:SubcontractorInvoicePayeeFlag>
                  </a:Vendor>
                  <a:SubcontractorInvoiceDate i:nil="true"/>
                  <a:SubcontractorInvoiceReferenceNumber i:nil="true"/>
                  <a:NewDocumentNumber i:nil="true"/>
                  <a:SubcontractorInvoiceReferenceNumberClearFlag>false</a:SubcontractorInvoiceReferenceNumberClearFlag>
                  <a:Timestamp>AAAAAA62H8c=</a:Timestamp>
                  <a:VendorInvoiceReferenceNumberClearFlag>false</a:VendorInvoiceReferenceNumberClearFlag>
               </a:ExpenseDocumentDetail>
               <a:ExpenseDocumentVatFlag>false</a:ExpenseDocumentVatFlag>
               <a:Invoices/>
               <a:Locations xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
               <a:LockedFlag>false</a:LockedFlag>
               <a:NoteCount>0</a:NoteCount>
               <a:PayeeVendors xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                  <b:PwsVendorSummary>
                     <b:VendorId i:nil="true"/>
                     <b:VendorName>Beth Brown</b:VendorName>
                     <b:VendorUid>1152921504607055834</b:VendorUid>
                     <b:VendorNumber>Beth Brown</b:VendorNumber>
                     <b:ExpenseReportPayeeFlag>true</b:ExpenseReportPayeeFlag>
                     <b:InactiveFlag>false</b:InactiveFlag>
                     <b:ResourceVendorFlag>true</b:ResourceVendorFlag>
                     <b:VendorInvoicePayeeFlag>false</b:VendorInvoicePayeeFlag>
                     <b:SubcontractorInvoicePayeeFlag>true</b:SubcontractorInvoicePayeeFlag>
                  </b:PwsVendorSummary>
               </a:PayeeVendors>
               <a:Projects>
                  <a:PwsExpenseEntryProject>
                     <ProjectCode xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">P001407-001</ProjectCode>
                     <ProjectId i:nil="true" xmlns="http://projectorpsa.com/DataContracts/Shared/Common/"/>
                     <ProjectUid xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">1152921504607413030</ProjectUid>
                     <a:BookedResourcesOnlyFlag>false</a:BookedResourcesOnlyFlag>
                     <a:EarliestRoleStartDate>2018-01-01T00:00:00Z</a:EarliestRoleStartDate>
                     <a:EngagementDescriptor>
                        <EngagementCode xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">E001407</EngagementCode>
                        <EngagementId i:nil="true" xmlns="http://projectorpsa.com/DataContracts/Shared/Common/"/>
                        <EngagementUid xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">1152921504607325242</EngagementUid>
                        <a:ClientDescriptor>
                           <ClientId i:nil="true" xmlns="http://projectorpsa.com/DataContracts/Shared/Common/"/>
                           <ClientNumber xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">PR-PSA</ClientNumber>
                           <ClientUid xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">1152921504606961482</ClientUid>
                           <a:ClientName>Projector PSA</a:ClientName>
                           <a:ParentClientDescriptor i:nil="true"/>
                        </a:ClientDescriptor>
                        <a:EngagementManager xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                           <b:UserDisplayName>Jack Spratt</b:UserDisplayName>
                           <b:UserId i:nil="true"/>
                           <b:UserReferenceSystemId>E123</b:UserReferenceSystemId>
                           <b:UserUid>1152921504607112369</b:UserUid>
                           <b:EmailAddress>jack@revcorp.bb</b:EmailAddress>
                           <b:FirstName>Jack</b:FirstName>
                           <b:LastName>Spratt</b:LastName>
                           <b:MiddleName i:nil="true"/>
                        </a:EngagementManager>
                        <a:EngagementName>Engagement A</a:EngagementName>
                        <a:EngagementTypeDescriptor>
                           <EngagementTypeId i:nil="true" xmlns="http://projectorpsa.com/DataContracts/Shared/Common/"/>
                           <EngagementTypeName xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">Billable - Time and Materials</EngagementTypeName>
                           <EngagementTypeShortName xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">TandM</EngagementTypeShortName>
                           <EngagementTypeUid xmlns="http://projectorpsa.com/DataContracts/Shared/Common/">1152921504606863884</EngagementTypeUid>
                           <a:BillableFlag>true</a:BillableFlag>
                        </a:EngagementTypeDescriptor>
                        <a:EngagementCurrencyDecimalDigits>2</a:EngagementCurrencyDecimalDigits>
                        <a:EngagementCurrencyIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                           <b:CurrencyCode>USD</b:CurrencyCode>
                           <b:CurrencyId i:nil="true"/>
                           <b:CurrencyUid>1152921504606851838</b:CurrencyUid>
                        </a:EngagementCurrencyIdentity>
                     </a:EngagementDescriptor>
                     <a:LatestRoleEndDate i:nil="true"/>
                     <a:LocationIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                        <b:LocationId i:nil="true"/>
                        <b:LocationName>USA</b:LocationName>
                        <b:LocationUid>1152921504606855985</b:LocationUid>
                     </a:LocationIdentity>
                     <a:OpenForCostFlag>true</a:OpenForCostFlag>
                     <a:ProjectCloseDate i:nil="true"/>
                     <a:ProjectDescription i:nil="true"/>
                     <a:ProjectManager xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                        <b:UserDisplayName>Jack Spratt</b:UserDisplayName>
                        <b:UserId i:nil="true"/>
                        <b:UserReferenceSystemId>E123</b:UserReferenceSystemId>
                        <b:UserUid>1152921504607112369</b:UserUid>
                        <b:EmailAddress>jack@revcorp.bb</b:EmailAddress>
                        <b:FirstName>Jack</b:FirstName>
                        <b:LastName>Spratt</b:LastName>
                        <b:MiddleName i:nil="true"/>
                     </a:ProjectManager>
                     <a:ProjectName>Project A</a:ProjectName>
                     <a:ProjectOpenDate>2018-01-01T00:00:00Z</a:ProjectOpenDate>
                     <a:ProjectStageIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                        <b:ProjectStageId i:nil="true"/>
                        <b:ProjectStageName>Delivery</b:ProjectStageName>
                        <b:ProjectStageShortName>Delivery</b:ProjectStageShortName>
                        <b:ProjectStageUid>1152921504606853304</b:ProjectStageUid>
                     </a:ProjectStageIdentity>
                     <a:RoleCount>1</a:RoleCount>
                     <a:Udf1InactiveFlag>false</a:Udf1InactiveFlag>
                     <a:Udf1Values xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
                     <a:Udf2InactiveFlag>false</a:Udf2InactiveFlag>
                     <a:Udf2Values xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
                     <a:AllowBookingFlag>true</a:AllowBookingFlag>
                     <a:Udf1DefaultValue i:nil="true"/>
                     <a:Udf2DefaultValue i:nil="true"/>
                     <a:ExpenseTypeIdentities xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                        <b:PwsExpenseTypeRef>
                           <b:ExpenseTypeId i:nil="true"/>
                           <b:ExpenseTypeName>Meals</b:ExpenseTypeName>
                           <b:ExpenseTypeUid>1152921504606878415</b:ExpenseTypeUid>
                        </b:PwsExpenseTypeRef>
                        <b:PwsExpenseTypeRef>
                           <b:ExpenseTypeId i:nil="true"/>
                           <b:ExpenseTypeName>Other/Misc Billable</b:ExpenseTypeName>
                           <b:ExpenseTypeUid>1152921504606879705</b:ExpenseTypeUid>
                        </b:PwsExpenseTypeRef>
                        <b:PwsExpenseTypeRef>
                           <b:ExpenseTypeId i:nil="true"/>
                           <b:ExpenseTypeName>Meals and Entertainment</b:ExpenseTypeName>
                           <b:ExpenseTypeUid>1152921504606881279</b:ExpenseTypeUid>
                        </b:PwsExpenseTypeRef>
                        <b:PwsExpenseTypeRef>
                           <b:ExpenseTypeId i:nil="true"/>
                           <b:ExpenseTypeName>Travel</b:ExpenseTypeName>
                           <b:ExpenseTypeUid>1152921504606881280</b:ExpenseTypeUid>
                        </b:PwsExpenseTypeRef>
                     </a:ExpenseTypeIdentities>
                  </a:PwsExpenseEntryProject>
               </a:Projects>
               <a:Receipts/>
               <a:TitleIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                  <b:DepartmentIdentity>
                     <b:DepartmentId i:nil="true"/>
                     <b:DepartmentName>Administrative Team</b:DepartmentName>
                     <b:DepartmentUid>1152921504606854346</b:DepartmentUid>
                  </b:DepartmentIdentity>
                  <b:TitleId i:nil="true"/>
                  <b:TitleName>Level 2</b:TitleName>
                  <b:TitleUid>1152921504606876426</b:TitleUid>
               </a:TitleIdentity>
               <a:Vouchers/>
               <a:AllowCloneFlag>true</a:AllowCloneFlag>
               <a:AllowDeleteFlag>true</a:AllowDeleteFlag>
               <a:Category>S</a:Category>
               <a:CreatedByUser xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                  <b:UserDisplayName>Beth Brown</b:UserDisplayName>
                  <b:UserId i:nil="true"/>
                  <b:UserReferenceSystemId>E125</b:UserReferenceSystemId>
                  <b:UserUid>1152921504607112693</b:UserUid>
                  <b:EmailAddress>beth@revcorp.bb</b:EmailAddress>
                  <b:FirstName>Beth</b:FirstName>
                  <b:LastName>Brown</b:LastName>
                  <b:MiddleName i:nil="true"/>
               </a:CreatedByUser>
               <a:CreatedTimestamp>2018-02-06T17:51:25.43Z</a:CreatedTimestamp>
               <a:LastUpdatedByUser xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
                  <b:UserDisplayName>Beth Brown</b:UserDisplayName>
                  <b:UserId i:nil="true"/>
                  <b:UserReferenceSystemId>E125</b:UserReferenceSystemId>
                  <b:UserUid>1152921504607112693</b:UserUid>
                  <b:EmailAddress>beth@revcorp.bb</b:EmailAddress>
                  <b:FirstName>Beth</b:FirstName>
                  <b:LastName>Brown</b:LastName>
                  <b:MiddleName i:nil="true"/>
               </a:LastUpdatedByUser>
               <a:LastUpdatedTimestamp>2018-02-06T17:51:25.43Z</a:LastUpdatedTimestamp>
               <a:PaymentVoucherItems>
                  <a:PwsPaymentVoucherItem>
                     <a:Amount>7.99</a:Amount>
                     <a:EffectiveStatus>S</a:EffectiveStatus>
                     <a:ItemCount>1</a:ItemCount>
                     <a:PaymentVoucher i:nil="true"/>
                     <a:ProjectSummary i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
                  </a:PwsPaymentVoucherItem>
               </a:PaymentVoucherItems>
               <a:Status>S</a:Status>
               <a:DisbursedCurrencyDecimalDigits>2</a:DisbursedCurrencyDecimalDigits>
               <a:MileageUom>M</a:MileageUom>
               <a:ExpenseDocumentLockedFlag>false</a:ExpenseDocumentLockedFlag>
               <a:ApprovalWorkflowStatus>S</a:ApprovalWorkflowStatus>
               <a:CostCardTotalDisbursedAmount>7.99</a:CostCardTotalDisbursedAmount>
               <a:DeleteExpenseDocumentUnavailableReason i:nil="true"/>
               <a:DueToOtherPayeesAmount>0</a:DueToOtherPayeesAmount>
               <a:InvoiceWorkflowStatus>N</a:InvoiceWorkflowStatus>
               <a:MaintainExpenseDocumentUnavailableReason i:nil="true"/>
               <a:PaymentWorkflowStatus>N</a:PaymentWorkflowStatus>
               <a:ViewInExpenseEntryFlag>true</a:ViewInExpenseEntryFlag>
            </a:ExpenseDocument>
            <a:ExpenseDocumentIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:DocumentNumber>ER00695</b:DocumentNumber>
               <b:ExpenseDocumentId i:nil="true"/>
               <b:ExpenseDocumentUid>1152921504607683542</b:ExpenseDocumentUid>
            </a:ExpenseDocumentIdentity>
            <a:ReceiptResults i:nil="true"/>
            <a:SaveSucceededFlag>true</a:SaveSucceededFlag>
         </PwsSaveExpenseDocumentResult>
      </PwsSaveExpenseDocumentResponse>
   </s:Body>
</s:Envelope>/a:PaymentWorkflowStatus>
               <a:ViewInExpenseEntryFlag>true</a:ViewInExpenseEntryFlag>
            </a:ExpenseDocument>
            <a:ExpenseDocumentIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:DocumentNumber>ER00695</b:DocumentNumber>
               <b:ExpenseDocumentId i:nil="true"/>
               <b:ExpenseDocumentUid>1152921504607683542</b:ExpenseDocumentUid>
            </a:ExpenseDocumentIdentity>
            <a:ReceiptResults i:nil="true"/>
            <a:SaveSucceededFlag>true</a:SaveSucceededFlag>
         </PwsSaveExpenseDocumentResult>
      </PwsSaveExpenseDocumentResponse>
   </s:Body>
</s:Envelope>

PwsSaveExpenseDocument - Common Errors and Warnings

ErrorNumber

ErrorCode

ErrorText

137

CostCardDescriptionTruncated

The specified cost card description exceeded the maximum length of 4000 characters and was truncated.

138

ExpenseDocumentNameTruncated

The specified expense document name exceeded the maximum length of 50 characters and was truncated.

19001CostCardErrorsOne or more cost cards could not be saved. The expense document was not created. Check CostCardResults for specific errors.
19004ExpenseDocumentNotSpecifiedForRetrieveNo expense document was specified for retrieval.
19015ExpenseDocumentNotSpecifiedForSaveNo expense document was specified for saving.
19021ExpenseDocumentOrDisbursingCostCenterRequiredMust specify either an expense document or a disbursing cost center for retrieving approvers.
19034InvalidValueForExpenseDocumentTypeThe value specified for expense document type is invalid. Value values are E for Expense Report, V for Vendor Invoice and S for Soft Card Batch.
19039ExpenseDocumentNotSpecifiedForSaveReceiptExpense document identity is required.
19073ExpenseDocumentIdentityRequiredAn expense document identity must be specified.
65195ReceiptsMayNotBeAssociatedWithEntireExpenseDocumentAccount is configured not to allow receipts to be attached to an entire expense document.
65196ReceiptsMayNotBeAssociatedWithIndividualCostCardsAccount is configured not to allow receipts to be attached to individual cost cards.
65197NoPermissionToSubmitOneOrMoreCostCardsYou do not have permission to submit one or more cost cards.
65468SpecifiedReceiptDoesNotBelogToSpecifiedExpenseDocumentReceipt/expense document mismatch
65470SpecifiedCostCardDoesNotBelongToSpecifiedExpenseDocumentCost card/expense document mismatch
65476FullyApprovedExpenseDocumentsMayNotBeUpdatedExpense document is fully approved and can no longer be modified
65481CannotRemoveLockedReceiptReceipt is locked and cannot be removed
65487LocationInactiveOrNotEnabledForCostCardsSpecified location is inactive or not enabled for cost cards.
65489CostCardRefInvalidCostCardRef is required
65491CostCardNotFoundCostCard not found
65492ExpenseDocumentRefInvalidExpenseDocumentRef is required
65494ExpenseDocumentNotFoundExpense document not found
65495ExpenseDocumentHasBeenUpdatedByAnotherUserExpense document has been changed.
65502ReceiptRefInvalidReceiptRef is required
65504ReceiptNotFoundReceipt not found
65506MemoryNotSupportForThisTypeOfExpenseDocumentMemory is supported only for expense report expense documents
65547DisbursingCostCenterMayNotBeChangedOnExistingExpenseDocumentsDisbursing cost center may not be changed on existing expense documents
65554DocumentNumberIsRequiredForNewExpenseDocumentsDocument number is required for new expense documents because account is configured to use manual expense document numbering (document type =%s)
65556SpecifiedExpenseDocumentNumberAlreadyInUseSpecified document number already in use
65562EntireExpenseReportFlagIsRequiredForNewReceiptsEntire expense report flag is required when attaching a new receipt
65563ReceiptMayNotBeTransferredBetweenExpenseDocumentsReceipt may not be transferred between expense documents
65564ReceiptMayNotBeAssociatedWithADifferentDocumentReceipt may not be associated with a different document
65565SpecifiedReceiptHasBeenDeletedSpecified receipt has been deleted
65567ReceiptsCannotBeAddedOrUpdatedForExpenseDocumentExpense document is locked for addition/update of receipts associated with entire document
65568DocumentNotFoundInUserReceiptPoolFolderDocument not found in user receipt pool folder
65570LockedReceiptCannotBeModifiedReceipt is locked and cannot be modified
65572ReceiptsAttachedToLockedCostCardCannotBeChangedOrRemovedCost card is locked, and receipts associated with it cannot be changed or removed
65610RemainingCashAdvanceExceedsTotalOfFreeResourcePaidCostCardsThe remaining cash advance amount (the portion of the cash advance amount not already allocated to payment vouchers) may not exceed the total disbursed amount among all cost cards on this expense document not already on payment vouchers.
65622CannotCreateSubcontractorInvoiceCardsChangedUnable to create subcontractor invoice because one or more included time cards has changed.
65630GivenCurrencyNotSameAsReportCurrencyThe specified currency does not match the expense document's disbursed currency.
65648SpecifiedDocumentNotOfSpecifiedTypeSpecified document type and expense document do not match.
65649DisbCostCenterDiffersFromEdCostCenterThe specified disbursing cost center and expense document do not match.
65650ExpDocOrCostCtrReqdForViScEither an expense document or cost center must be specified for vendor invoices and soft cost batches.
65651ExpDocOrRrscReqdForExpenseReportEither expense document or resource must be specified for expense reports.
65745SpecifiedSubcontractorInvoiceNumberAlreadyInUseSpecified expense document number is already in use.
65761DuplicateExpenseDocumentSpecifiedDuplicate expense document specified.
65764NoPermissionToSaveCostCardYou do not have permission to save this cost card.
65765InvalidValueForOverrideClientAmountOverride client amount cannot be set to a non-zero amount for expense report or subcontractor invoice cost cards.
65766CannotChangeResourceForSiCostCardsResource cannot be changed on subcontractor invoice cost cards.
65767VendorExpenseReportCompanyMismatchVendor cost center and expense report cost center must be in the same company.
65772SubcontractorInvoiceDateMustBeSpecifiedSubcontractor invoice date must be specified on subcontractor invoices.
65773SubcontractorInvoiceDateCannotBeSpecifiedSubcontractor invoice date may only be specified on subcontractor invoices.
65774SubcontractorInvoiceReferenceNumberCannotBeSpecifiedSubcontractor invoice reference number may only be specified on subcontractor invoices.
65775CanOnlyAssociatedExpenseReportsWithResourceOnly expense report expense documents can be associated with a resource.
65776ExpenseReportResourceCannotBeChangedAn expense report resource cannot be changed after expense document creation.
65777ExpenseReportVendorCannotBeChangedVendor cannot be changed on existing expense reports.
65778SubcontractorInvoiceVendorCannotBeChangedVendor cannot be changed on existing subcontractor invoices.
65779SubcontractorInvoiceVendorMustBeSpecifiedVendor must be specified for new subcontractor invoices.
65780SpecifiedSubcontractorInvoiceVendorInvalidVendor on subcontractor invoice must be enabled as a subcontractor invoice payee.
65781ExpenseReportResourceVendorMismatchVendor on expense report must match the resource expense report vendor.
65782SpecifiedExpenseReportVendorInvalidVendor on expense report must be enabled as an expense report payee.
65783SpecifiedExpenseDocumentVendorInvalidVendor is inactive.
65784ExpenseReportPayeeVendorCostCenterMismatchNon-resource payee expense report cost center, if specified, must match payee vendor cost center.
65785SubcontractorInvoiceVendorCostCenterMismatchSubcontractor invoice cost center, if specified, must match vendor cost center.
65786NoPermissionToMaintainReceiptsYou do not have permission to maintain receipts on this expense document.
65787NoPermissionToViewCostCardYou do not have permission to view this cost card.
65788CannotRetrieveReceiptsWithoutCostCardsCannot retrieve receipts without cost cards.
65796SiCostsCannotBeChangedToPassthroughCosts on subcontractor invoices cannot be changed to a passthrough expense type.
65797AtLeastOneCardNotFromSpecifiedExpenseDocumentAt least one cost card is not from specified expense document.
65798VatAmountMayNotExceedTotalAmountOnDacVAT amount may not exceed total amount.
65799DisbursedAndVatAmountsDifferingSignsBase amount and VAT amount must have the same sign.
65800DisbursedAndClientAmountsDifferingSignsBase amount and client amount must have the same sign.
65801VatAmountMayNotExceedTotalAmountOnSaveVAT amount may not exceed total amount.
65802CostCardMarkupPercentageOutOfRangeMarkup percentage may not be less than -100%.
65803DisbursedAndClientAmountsDifferingSignsOnWcAdjustment would create one or more cost cards with disbursed and client amounts with opposing signs.
65804SubcontractorInvoiceExpectedSpecified expense document is not a subcontractor invoice.
65805NoPermissionToMaintainSubcontractorInvoiceYou do not have permission to maintain this subcontractor invoice.
65819ResourceMayOnlyBeSpecifiedForExpenseReportsA resource identity may only be specified when retrieving approvers for an expense report.
65820ExpenseDocumentRefOrResourceRefRequiredForExpenseReportsPlease specify either an expense document identity or a resource identity, or both. When retrieving approvers for an expense report.
65821CannotSpecifyOverrideClientAmountOnSubcontractorInvoiceCostsOverride client amount cannot be specified for subcontractor invoice cost cards.
65822VendorsInvoiceNumberAlreadyInUseSpecified vendor's invoice number is already in use.
65824PassthroughExpensesNotAllowedOnSubcontractorInvoicesPass-through expense types cannot be used on subcontractor invoices.
65825VATAmountAndTotalAmountSignMismatchVAT and total amounts in incurred and disbursed currencies must all share a common sign.
65826OverrideClientAmountAndDisbursedAmountSignMismatchOverride client and base amounts must share a common sign.
65827CannotUnsubmitCostCardApClosedThis cost card cannot be unsubmitted because its accounting period is closed.