Versions Compared

Key

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

Overview


This web service applies a revenue recognition adjustment to a specified contract line item (PwsContractLineItemRef)contract line item (PwsContractLineItemRef).


Info
titleWhen Revenue Recognition Method is Percent Complete:
  • CutoffDate can be any date, or unspecified to undo all revenue recognition.
  • BeginDate is optional.  If specified, may not be later than CutoffDate.  If CutoffDate is unspecified, BeginDate must be unspecified.
  • Exactly one of FractionComplete or TotalRevenueRecognized or IntervalRevenueRecognized or IncludeRequestsFlag must be specified.  When amounts are specified (Total or Interval), EnagementCurrencyIdentity must also be specified.


Info
titleWhen Revenue Recognition Method is Revenue Schedule:
  • CutoffDate has to be a revenue schedule bucket end date.  Can only be unspecified if BeginDate is also unspecified.
  • BeginDate, if specified, must match that bucket's start date.
  • If CutoffDate and BeginDate are both unspecified, the service will undo all revenue recognition.
  • CutoffDate may be the next bucket after the last one recognized, or may be any earlier bucket.  It may NOT go multiple buckets forward in one go.
  • Each bucket being recognized is considered 100% complete, and adjustments apply to cards in that bucket only.
  • FractionComplete and IncludeRequestsFlag may not be specified.
  • TotalRevenueRecognized, if specified, must match the total scheduled revenue of all buckets to date.
  • IntervalRevenueRecognized, if specified, must match the scheduled revenue of the bucket being recognized.

Request Format


Panel
titlePwsApplyRevRecAdjustment Request
  • PwsApplyRevRecAdjustment
    • serviceRequest: PwsApplyRevRecAdjustmentRq
      • RequestId: Int32
      • SessionTicket: String
      • BeginDate: DateTime
      • ContractLineItemIdentity: PwsContractLineItemRef
      • CutoffDate: DateTime
      • EngagementCurrencyIdentity: PwsCurrencyRef
      • EngagementTimestamp: String **deprecated**
      • FractionComplete: Double
      • IncludeRequestsFlag: Boolean
      • Notes: String (1000)
      • StealLockFlag: Boolean **deprecated**
      • TotalRevenueRecognized: Double
      • IntervalRevenueRecognized: Double
      • ContractLineItemTimestamp: String
      • LocksToSteal: PwsEntityLockSummary[1.100]

...

Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information.

1

SessionTicket

String

Yes 


Click here for more information.

Af2v8Ie/yFiUtqHqc3felw==

BeginDate

DateTime

No

Start Date of the associated engagement

The begin date for your revenue recognition period. If you choose a specific start date, then all recognized revenue on time cards BEFORE that date is left alone and is considered sacrosanct. All time cards after and up to the end date will have their recognized revenue recalculated.


ContractLineItemIdentity

PwsContractLineItemRef

Yes 


The identity of the contract line item to make the revenue recognition adjustment for.


CutoffDate

DateTime

Yes


The cut off date or end date for your revenue recognition period. If you have run revenue recognition previously, and there is revenue sitting on time cards AFTER this date, that revenue will be zeroed out.

2017-07-03T00:00:00.000Z

EngagementCurrencyIdentity

PwsCurrencyRef

Yes (if TotalRevenueRecognized is specified)


This identifies the currency for the engagement the contract line item is associated with.


EngagementTimestamp

String

 **deprecated**




FractionComplete

Double

One of FractionComplete, IncludeRequestsFlag, TotalRevenueRecognized or IntervalRevenueRecognized is required


The fractional amount of total revenue that should be recognized for the date range provided.

.30

IncludeRequestsFlag

Boolean

See FractionComplete

 false

If set to 'true', the basis units the revenue will be recognized against will include requested hours.


Notes

String (1000)

No 


Notes that are stored with the revenue recognition record.

Recognizing 30%

StealLockFlag

Boolean

 **deprecated**



true

TotalRevenueRecognized

Double

See FractionComplete 


Revenue you want to be recognized from beginning of time through the cutoff date


IntervalRevenueRecognized

Double

See FractionComplete - this is only applicable for contract line items with a revenue schedule


Represents the revenue you want to be recognized from the specified begin date through the cutoff date. (if you leave out the begin date, this acts identical to the TotalRevenueRecognized)


ContractLineItemTimestampStringNo
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.
LocksToStealPwsEntityLockSummary[1.100]No
The detailed information of the locks that are to be stolen. If not specified, the request will fail if any requested locks are already held. If specified, the information supplied must exactly match the current state of existing locks or the attempt to steal the existing locks will fail. Typically, this service is invoked with LocksToSteal empty or null. If there are existing locks, they will be returned in the LockHolders member of PwsFault. This data can then be sent, as is, back to the server in a second invocation of this service, as LocksToSteal, if the caller desires to steal the locks.

...

Panel
titlePwsApplyRevRecAdjustment 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.

1

Status

RequestStatus

Click here for more information.

Ok

ServerTimestampUtc

DateTime

Click here for more information.

2018-02-02T16:30:03.8860867Z

EngagementTimestamp

String

**deprecated**


LockStolenFromUserIdentity

PwsUserRef

**deprecated**


ConfirmationCodeStringThe revenue recognition confirmation code.2305873009212693953.20180202163003
ContractLineItemTimestampStringThis 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.
AAAAAA62D3k=
StolenLocksPwsEntityLockSummaryThis structure contains information about the locks that were stolen in order to complete this request, Will be included only when LocksToSteal is specified in the request.the request.
TransactionTimestampDateTimeThe date and time (in UTC) that the revenue recognition operation was performed.2018-02-02T16:30:03.8860867Z

Response Usage Example(s)

...

Code Block
languagexml
titleExample 01
collapsetrue
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsApplyRevRecAdjustmentResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsApplyRevRecAdjustmentResult xmlns:a="http://projectorpsa.com/DataContracts/Shared/Scheduling/" 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/">1</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-02-02T16:30:03.8860867Z</ServerTimestampUtc>
            <a:EngagementTimestamp>AAAAAA61fBk=</a:EngagementTimestamp>
            <a:LockStolenFromUserIdentity i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <a:ContractLineItemTimestamp>AAAAAA62D3k=</a:ContractLineItemTimestamp>
            <a:StolenLocks xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <a:ConfirmationCode>2305873009212693953.20180202163003</a:ConfirmationCode>
        <    <a:TransactionTimestamp>2018-02-02T16:30:03.8860867Z</a:TransactionTimestamp>
          </PwsApplyRevRecAdjustmentResult>
      </PwsApplyRevRecAdjustmentResponse>
   </s:Body>
</s:Envelope>

...