Validate Project Cost

post

/fscmRestApi/projectCosts/11.13.18.05/projectCostValidations/validateProjectCost

This method is used to validate project costs.

Request

There are no request parameters for this operation.

Supported Media Types
Request Body - application/json ()
Root Schema : schema
Type: object
Show Source
Back to Top

Response

Supported Media Types

Default Response

The following table describes the body parameters in the response for the Validate Project Cost request.
Body ()
Root Schema : ProjectCostValidationOutputRowList
Type: object
Show Source
Nested Schema : Results
Type: array
Values that contain the response for the project cost validation output row.
Show Source
Nested Schema : ProjectCostValidationOutputRow
Type: object
Show Source
Nested Schema : ValidationErrors
Type: array
The list of errors and warnings for a project cost transaction for which validation was not successful.
Show Source
Nested Schema : ProjectCostValidationOutputRowErrorsList
Type: object
Show Source
  • The message name for a project cost transaction for which validation was not successful.
  • The message text indicating the cause and resolution for a project cost transaction for which validation was not successful.
  • The message type code for a project cost transaction for which validation was not successful. Possible values include Error, Warning.
  • The message details in addition to the message text to help with resolution for a project cost transaction for which validation was not successful.
Back to Top

Examples

Example 1

In this example, we are requesting validation for three project cost transactions in a single request. The maximum number of transactions that can be validated in a single request is 500.

To highlight the use of ID, Name and Number or Code values as inputs for various attributes, each transaction in the sample payload will use only ID, Name or Number attributes.

The header in the response payload gives a high level overview of the results and indicates the total count of transactions requested for validation, total count of transactions that passed, passed with warnings or failed validation. Validation errors for transactions that failed validation or passed with warnings will be available under the respective original transaction reference of the transaction.

.

curl --user ppm_cloud_user -X POST -d @example_request_payload.json --header "Content-Type: application/json" https://your_organization.com:port/fscmRestApi/projectCosts/11.13.18.05/projectCostValidations/validateProjectCost

Request Body Example

The following shows an example of the request body in JSON format.

{

"ProjectCostValidationInputRowList" : [ {

"BusinessUnitId" : "204",

"TransactionSourceId" : "100010023900191",

"DocumentId" : "100010023900192",

"DocumentEntryId" : "100010023900193",

"ProjectId" : "300100175528525",

"TaskId" : "100100108088810",

"ExpenditureItemDate" : "2021-10-02",

"ExpenditureTypeId" : "10009",

"ExpenditureOrganizationId" : "204",

"BillableFlag" : false,

"CapitalizableFlag" : true,

"WorkTypeId" : "10024",

"OriginalTransactionReference" : "SAMPLE1",

"Quantity" : "10",

"PersonId" : "100010032550827",

"TransactionCurrencyCode" : "USD",

"RawCostInTransactionCurrency" : "10",

"ProviderLedgerCurrencyCode" : "USD",

"RawCostInProviderLedgerCurrency" : "10",

"BurdenedCostInProviderLedgerCurrency" : "12",

"AccountingDate" : "2021-10-02"

}, {

"BusinessUnit" : "Vision Operations",

"TransactionSourceName" : "Vision Fusion Projects",

"DocumentName" : "Time Card",

"DocumentEntryName" : "Straight Time",

"ProjectName" : "BAT-PJCBAT-Proj-01_New",

"TaskName" : "Footer",

"ExpenditureItemDate" : "2021-10-02",

"ExpenditureType" : "Professional",

"ExpenditureOrganization" : "Vision Operations",

"BillableFlag" : false,

"CapitalizableFlag" : true,

"WorkType" : "Internal - Capital",

"OriginalTransactionReference" : "SAMPLE2",

"Quantity" : "10",

"PersonId" : "100010032550827",

"TransactionCurrencyCode" : "USD",

"RawCostInTransactionCurrency" : "10",

"ProviderLedgerCurrencyCode" : "USD",

"RawCostInProviderLedgerCurrency" : "10",

"BurdenedCostInProviderLedgerCurrency" : "12",

"AccountingDate" : "2021-10-02"

},{

"BusinessUnit" : "Vision Operations",

"TransactionSourceCode" : "PROJECTS",

"DocumentCode" : "TIMECARD",

"DocumentEntry" : "ST",

"ProjectNumber" : "BAT-PJCBAT-Proj-01_New",

"TaskNumber" : "1.1",

"ExpenditureItemDate" : "2021-10-02",

"ExpenditureType" : "Professional",

"ExpenditureOrganization" : "Vision Operations",

"BillableFlag" : false,

"CapitalizableFlag" : true,

"WorkType" : "Internal - Capital",

"OriginalTransactionReference" : "SAMPLE3",

"Quantity" : "10",

"PersonId" : "",

"TransactionCurrencyCode" : "USD",

"RawCostInTransactionCurrency" : "10",

"ProviderLedgerCurrencyCode" : "USD",

"RawCostInProviderLedgerCurrency" : "10",

"BurdenedCostInProviderLedgerCurrency" : "12",

"AccountingDate" : "2021-10-02"

} ]

}

Response Body Example

The following shows an example of the response body in JSON format.

{

"ProjectCostValidationOutputRowList": {

"TotalTransactionsCount": 3,

"TotalFailedTransactionsCount": 1,

"TotalPassedWithWarningTransactionsCount": 0,

"TotalPassedTransactionsCount": 2,

"Results": [

{

"OriginalTransactionReference": "SAMPLE3",

"ValidationStatus": "FAILED",

"ValidationErrors": [

{

"MessageText": "You must provide a person for labor transactions.",

"MessageTypeCode": "ERROR",

"MessageName": "PJC_PERSON_MAND_FOR_TIME"

}

]

},

{

"OriginalTransactionReference": "SAMPLE1",

"ValidationStatus": "PASSED"

},

{

"OriginalTransactionReference": "SAMPLE2",

"ValidationStatus": "PASSED"

}

]

}

}

Example 2

This example highlights the mandatory attributes required for a transaction when requesting for a project cost validation. While certain attributes are always mandatory, some are mandatory only on a case by case basis. For example, a value for business unit, either ID or name is always mandatory, while a value is to be mandatorily provided for attributes like Funding Source ID or Funding Source Number only if the cost transaction requested for validation is for a sponsored project. Review the individual attribute descriptions for additional details.

Request Body Example

The following shows an example of the request body in JSON format.

{

"ProjectCostValidationInputRowList" : [ {

"BusinessUnitId" : "",

"TransactionSourceName" : "Vision Fusion Projects",

"DocumentName" : "Time Card",

"DocumentEntryName" : "Straight Time",

"ProjectName" : "",

"TaskName" : "",

"ExpenditureItemDate" : "",

"ExpenditureType" : "",

"ExpenditureOrganization" : "",

"BillableFlag" : false,

"CapitalizableFlag" : true,

"WorkTypeId" : "10024",

"WorkType" : "Internal - Capital",

"OriginalTransactionReference" : "SAMPLE4",

"Quantity" : "10",

"PersonName" : "",

"TransactionCurrencyCode" : "USD",

"RawCostInTransactionCurrency" : "10",

"BurdenedCostInTransactionCurrency" : "12",

"ProviderLedgerCurrencyCode" : "USD",

"RawCostInProviderLedgerCurrency" : "10",

"BurdenedCostInProviderLedgerCurrency" : "12",

"AccountingDate" : "2021-10-02"

} ]

}

Response Body Example

The following shows an example of the response body in JSON format.

{

"ProjectCostValidationOutputRowList": {

"TotalTransactionsCount": 1,

"TotalFailedTransactionsCount": 1,

"TotalPassedWithWarningTransactionsCount": 0,

"TotalPassedTransactionsCount": 0,

"Results": [

{

"OriginalTransactionReference": "SAMPLE4",

"ValidationStatus": "FAILED",

"ValidationErrors": [

{

"MessageText": "You must provide an expenditure organization for this transaction.",

"MessageTypeCode": "ERROR",

"MessageName": "PJC_EXP_ORG_MANDATORY"

},

{

"MessageText": "You must provide a value for at least one of the following attributes: Business Unit Id or Business Unit Name.",

"MessageTypeCode": "ERROR",

"MessageName": "PJC_MANDATORY_SERVICEATTRIBUTE"

},

{

"MessageText": "You must provide a value for at least one of the following attributes: Task ID, Task Name, Task Number.",

"MessageTypeCode": "ERROR",

"MessageName": "PJC_TXN_TASK_ID_IS_NULL"

},

{

"MessageText": "You must provide a value for at least one of the following attributes: Expenditure Type ID, Expenditure Type Name.",

"MessageTypeCode": "ERROR",

"MessageName": "PJC_TXN_EXPTYP_ID_IS_NULL"

},

{

"MessageText": "You must provide a value for at least one of the following attributes: Project ID, Project Name, Project Number.",

"MessageTypeCode": "ERROR",

"MessageName": "PJC_TXN_PROJ_ID_IS_NULL"

},

{

"MessageText": "You must provide the expenditure item date for the transaction.",

"MessageTypeCode": "ERROR",

"MessageName": "PJC_TXN_DATE_IS_NULL"

}

]

}

]

}

}

Example 3

In this example, we are requesting validation for a project cost transaction generated in an external source identified by the Transaction Source Name. When the unmatched negative transaction flag value is False, then the transaction is a reversal of the matched transaction. This matched transaction is identified by the attribute Reversed Original Transaction Reference and becomes mandatory in this scenario.

Additionally, we are also providing the general ledger account code combination identifiers for the raw, burden and burdened cost accounts to be used for accounting the transaction, which will also be validated as part of the request.

Request Body Example

The following shows an example of the response body in JSON format.

{

"ProjectCostValidationInputRowList" : [ {

"BusinessUnit" : "Vision City Operations",

"TransactionSourceName" : "External Time Entry System",

"DocumentName" : "Timecards",

"DocumentEntryName" : "Straight Time",

"ProjectId" : "",

"ProjectName" : "BAT_GMS_Neuroscience Research Project",

"TaskName" : "Diagnostic Test for Heart",

"ExpenditureItemDate" : "2015-10-02",

"ExpenditureType" : "Professional",

"ExpenditureOrganization" : "Vision City Operations",

"ContractName" : "Neuroscience Research Award for BAT",

"FundingSourceName" : "Dept of Health and Human Services (DHHS)",

"BillableFlag" : false,

"CapitalizableFlag" : true,

"WorkType" : "Internal - Capital",

"OriginalTransactionReference" : "SAMPLE5",

"Quantity" : "-10",

"PersonName" : "Anderson, Tim",

"AssignmentName" : "Principal Consultant",

"AccountingDate" : "2021-10-02",

"UnmatchedNegativeTransactionFlag" : false,

"ReversedOriginalTransactionReference" : "7686211",

"TransactionCurrencyCode" : "USD",

"RawCostInTransactionCurrency" : "10",

"ProviderLedgerCurrencyCode" : "USD",

"RawCostInProviderLedgerCurrency" : "10",

"BurdenedCostInProviderLedgerCurrency" : "",

"ProviderLedgerCurrencyConversionRate" : "",

"ProviderLedgerCurrencyConversionDate" : "",

"ProviderLedgerCurrencyConversionDateTypeCode" : "",

"RawCostDebitAccountCombinationId" : "140414",

"RawCostDebitAccount" : "",

"RawCostCreditAccountCombinationId" : "13402",

"RawCostCreditAccount" : "",

"BurdenCostDebitAccountCombinationId" : "140414",

"BurdenCostDebitAccount" : "",

"BurdenCostCreditAccountCombinationId" : "13402",

"BurdenCostCreditAccount" : "",

"BurdenedCostDebitAccountCombinationId" : "140414",

"BurdenedCostDebitAccount" : "",

"BurdenedCostCreditAccountCombinationId" : "13402",

"BurdenedCostCreditAccount" : ""

}]

}

Response Body Example

The following shows an example of the response body in JSON format.

{

"ProjectCostValidationOutputRowList": {

"TotalTransactionsCount": 1,

"TotalFailedTransactionsCount": 0,

"TotalPassedWithWarningTransactionsCount": 0,

"TotalPassedTransactionsCount": 1,

"Results": [

{

"OriginalTransactionReference": "SAMPLE5",

"ValidationStatus": "PASSED"

}

]

}

}
Back to Top