PwsApplyRevRecAdjustment
Overview
This web service applies a revenue recognition adjustment to a specified contract line item (PwsContractLineItemRef).
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 thanCutoffDate
. IfCutoffDate
is unspecified,BeginDate
must be unspecified.- Exactly one of
FractionComplete
orTotalRevenueRecognized
orIntervalRevenueRecognized
orIncludeRequestsFlag
must be specified. When amounts are specified (Total or Interval),EnagementCurrencyIdentity
must also be specified.
When Revenue Recognition Method is Revenue Schedule:
CutoffDate
has to be a revenue schedule bucket end date. Can only be unspecified ifBeginDate
is also unspecified.BeginDate
, if specified, must match that bucket's start date.- If
CutoffDate
andBeginDate
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
andIncludeRequestsFlag
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
- 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]
- serviceRequest: PwsApplyRevRecAdjustmentRq
Request Elements
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 | 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 | 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) | ||
ContractLineItemTimestamp | String | 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. | ||
LocksToSteal | PwsEntityLockSummary[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. |
Request Usage Example(s)
Response Format
- PwsApplyRevRecAdjustmentResponse
- PwsApplyRevRecAdjustmentResult: PwsApplyRevRecAdjustmentRs
- Messages: PwsMessage[]
- ResponseId: Int32
- Status: RequestStatus
- ServerTimestampUtc: DateTime
- EngagementTimestamp: String **deprecated**
- LockStolenFromUserIdentity: PwsUserRef **deprecated**
- ContractLineItemTimestamp: String
- StolenLocks: PwsEntityLockSummary
- PwsApplyRevRecAdjustmentResult: PwsApplyRevRecAdjustmentRs
Response Elements
Element | Data Type | Description | Sample Data |
---|---|---|---|
Messages | 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 | **deprecated** | ||
ConfirmationCode | String | The revenue recognition confirmation code. | 2305873009212693953.20180202163003 |
ContractLineItemTimestamp | String | 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. | AAAAAA62D3k= |
StolenLocks | PwsEntityLockSummary | This 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. | |
TransactionTimestamp | DateTime | The date and time (in UTC) that the revenue recognition operation was performed. | 2018-02-02T16:30:03.8860867Z |
Response Usage Example(s)
PwsApplyRevRecAdjustment - Common Errors and Warnings
- For all errors and warnings please refer to the Complete List of Errors and Warnings
ErrorNumber | ErrorCode | ErrorText |
---|---|---|
29000 | NoContractLineItemSpecifiedForRevRec | No Contract Line Item specified on which to apply Revenue Recognition Adjustment. |
29001 | InvalidValueForRevRecCutoffDate | Invalid value for Revenue Recognition Adjustment Cutoff Date. |
29002 | InvalidValueForRevRecBeginDate | Invalid value for Revenue Recognition Adjustment Begin Date. |
29003 | RevRecFractionCompleteOutOfRange | Revenue Recognition Adjustment Fraction Complete out of range. |
29004 | RevRecTotalRevenueRecognizedOutOfRange | Revenue Recognition Adjustment Total Revenue Recognized out of range. |
29005 | RevRecNotesTruncated | Revenue Recognition Adjustment Notes truncated. |
29006 | InvalidRevRecDateCombinationSpecified | Illegal combination of Revenue Recognition Adjustment Dates specified. |
29007 | SpecifyNoMoreThanOneRevRecAxis | May specify at most one of Fraction Complete, Include Requests Flag, and Total Revenue Recognized on Revenue Recognition Adjustment. |
29008 | MustSpecifyRevRecCurrencyIfSpecifyingAmount | When specifying Total Revenue Recognized on Revenue Recognition Adjustment, must also specify Currency. |
29009 | RevRecIntervalRevenueRecognizedOutOfRange | Revenue Recognition Adjustment Interval Revenue Recognized out of range. |
50469 | EntityAlreadyLocked | One or more existing locks prevent acquisition of requested lock. |
55016 | CutoffDateMustBeEligibleBucketDate | For revenue schedules, begin date and cutoff date must identify an eligible bucket. |
55019 | SpecifiedCurrencyMustMatchEngagementCurrency | The specified currency does not match the engagement's currency. |
55022 | RevenueToRecognizeMayNotDifferFromScheduledRevenue | For revenue schedules, revenue to recognize cannot differ from the scheduled revenue amount. |
55023 | NoBasisUnitsAfterCutoffDateUponWhichToAllocateRevenue | There is revenue remaining, but there are no basis units after the cutoff date to which revenue can be allocated. |
55024 | NoAppropriateTimeCardsToReceiveProposedAdjustment | There are no appropriate time cards to receive the proposed revenue recognition adjustment. |
55025 | NoBasisUnitsUponWhichToAllocateRevenue | There are no basis units upon which to allocate revenue. |
55204 | RevRecTimeAndMaterialsWithoutAmount | Revenue recognition for time and materials time contract terms must be based on recognizing a specific revenue amount. |
70101 | RevRecWithEmptyCli | A contract line item must have a project beneath it in order to perform revenue recognition. |
70118 | RevRecCutoffClosedForAdj | The revenue recognition cutoff date is in a period that is not open for adjustments. |