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).

Request Format


serviceRequest: PwsApplyRevRecAdjustmentRq
  • RequestId: Int32
  • SessionTicket: PwsApplyRevRecAdjustment
    Panelinfo
    titlePwsApplyRevRecAdjustment Request
    When 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.in 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>

    ...

    ErrorNumber

    ErrorCode

    ErrorText

    29000NoContractLineItemSpecifiedForRevRecNo Contract Line Item specified on which to apply Revenue Recognition Adjustment.
    29001InvalidValueForRevRecCutoffDateInvalid value for Revenue Recognition Adjustment Cutoff Date.
    29002InvalidValueForRevRecBeginDateInvalid value for Revenue Recognition Adjustment Begin Date.
    29003RevRecFractionCompleteOutOfRangeRevenue Recognition Adjustment Fraction Complete out of range.
    29004RevRecTotalRevenueRecognizedOutOfRangeRevenue Recognition Adjustment Total Revenue Recognized out of range.
    29005RevRecNotesTruncatedRevenue Recognition Adjustment Notes truncated.
    29006InvalidRevRecDateCombinationSpecifiedIllegal combination of Revenue Recognition Adjustment Dates specified.
    29007SpecifyNoMoreThanOneRevRecAxisMay specify at most one of Fraction Complete, Include Requests Flag, and Total Revenue Recognized on Revenue Recognition Adjustment.
    29008MustSpecifyRevRecCurrencyIfSpecifyingAmountWhen specifying Total Revenue Recognized on Revenue Recognition Adjustment, must also specify Currency.
    29009RevRecIntervalRevenueRecognizedOutOfRangeRevenue Recognition Adjustment Interval Revenue Recognized out of range.
    50469EntityAlreadyLockedOne or more existing locks prevent acquisition of requested lockmore existing locks prevent acquisition of requested lock.
    55016CutoffDateMustBeEligibleBucketDateFor revenue schedules, begin date and cutoff date must identify an eligible bucket.
    55019SpecifiedCurrencyMustMatchEngagementCurrencyThe specified currency does not match the engagement's currency.
    55022RevenueToRecognizeMayNotDifferFromScheduledRevenueFor revenue schedules, revenue to recognize cannot differ from the scheduled revenue amount.
    55023NoBasisUnitsAfterCutoffDateUponWhichToAllocateRevenueThere is revenue remaining, but there are no basis units after the cutoff date to which revenue can be allocated.
    55024NoAppropriateTimeCardsToReceiveProposedAdjustmentThere are no appropriate time cards to receive the proposed revenue recognition adjustment.
    55025NoBasisUnitsUponWhichToAllocateRevenueThere are no basis units upon which to allocate revenue.
    55204RevRecTimeAndMaterialsWithoutAmountRevenue recognition for time and materials time contract terms must be based on recognizing a specific revenue amount.
    70101RevRecWithEmptyCliA contract line item must have a project beneath it in order to perform revenue recognition.
    70118RevRecCutoffClosedForAdjThe revenue recognition cutoff date is in a period that is not open for adjustments.