Validate Project Cost
/fscmRestApi/projectCosts/11.13.18.05/projectCostValidations/validateProjectCost
Request
There are no request parameters for this operation.
- application/json
object
-
AccountingDate: string
(date-time)
The date used to determine the accounting period for a transaction. You must provide a value for this attribute for project cost transactions that are accounted externally in a third party source application in the format YYYY-MM-DD.
-
AccrualItemFlag: boolean
Indicates if the transaction belongs to an expenditure batch that will accrue cost in a period and automatically reverse them in the next period. A value of True means that the transaction is an accrual item and a value of False means that the transaction is not an accrual item.
-
AssignmentId: integer
(int32)
Identifier of the human resources assignment of the person that incurred the transaction that was charged to the project. You must provide a value for either this attribute or Assignment Name or Assignment Number for labor cost transactions.
-
AssignmentName: string
Name of the human resources assignment of the person that incurred the transaction that was charged to the project. You must provide a value for either this attribute or Assignment ID or Assignment Number for labor cost transactions.
-
AssignmentNumber: string
Number of the human resources assignment of the person that incurred the transaction that was charged to the project. You must provide a value for either this attribute or Assignment ID or Assignment Name for labor cost transactions.
-
Attribute1: string
Descriptive flexfield segment.
-
Attribute10: string
Descriptive flexfield segment.
-
Attribute11: string
Descriptive flexfield segment.
-
Attribute12: string
Descriptive flexfield segment.
-
Attribute13: string
Descriptive flexfield segment.
-
Attribute14: string
Descriptive flexfield segment.
-
Attribute15: string
Descriptive flexfield segment.
-
Attribute2: string
Descriptive flexfield segment.
-
Attribute3: string
Descriptive flexfield segment.
-
Attribute4: string
Descriptive flexfield segment.
-
Attribute5: string
Descriptive flexfield segment.
-
Attribute6: string
Descriptive flexfield segment.
-
Attribute7: string
Descriptive flexfield segment.
-
Attribute8: string
Descriptive flexfield segment.
-
Attribute9: string
Descriptive flexfield segment.
-
AttributeCategory: string
Descriptive flexfield context field.
-
BatchName: string
Name of the project expenditure batch.
-
BillableFlag: boolean
Specifies if the transaction is billable. A value of True means that the transaction is billable and a value of False means that the transaction is not billable.
-
BillToId: integer
(int32)
Reference to the unique identifier for the Bill-to Customer location.
-
BudgetDate: string
(date-time)
Date for which funds must be reserved for the transaction in the format YYYY-MM-DD.
-
BurdenCostCreditAccount: string
The ledger account that receives the credit amount for the burden cost associated with the transaction. You must provide a value for this attribute for Third Party Source when Import burden cost amounts is enabled.
-
BurdenCostCreditAccountCombinationId: integer
(int32)
Code combination identifier of the burden cost credit account. You must provide a value for this attribute for Third Party Source when Import burden cost amounts is enabled.
-
BurdenCostDebitAccount: string
The ledger account that receives the debit amount for the burden cost associated with the transaction. You must provide a value for this attribute forThird Party Source when Import burden cost amounts is enabled.
-
BurdenCostDebitAccountCombinationId: integer
(int32)
Code combination identifier of the burden cost debit account. You must provide a value for this attribute for Third Party Source when Import burden cost amounts is enabled.
-
BurdenedCostCreditAccount: string
The ledger account that receives the credit amount for the burdened cost associated with the transaction. The burdened cost includes the total of the raw and burden cost. You must provide a value for this attribute for Third Party Source when Import burdened cost amounts is enabled.
-
BurdenedCostCreditAccountCombinationId: integer
(int32)
Code combination identifier of the burdened cost credit account. You must provide a value for this attribute for Third Party Source when Import burdened cost amounts is enabled.
-
BurdenedCostDebitAccount: string
(date-time)
The ledger account that receives the debit amount for the burdened cost associated with the transaction. The burdened cost includes the total of the raw and burden cost. You must provide a value for this attribute for Third Party Source when Import burdened cost amounts is enabled.
-
BurdenedCostDebitAccountCombinationId: integer
(int32)
Code combination identifier of the burdened cost debit account. You must provide a value for this attribute for Third Party Source when Import burdened cost amounts is enabled.
-
BurdenedCostInProviderLedgerCurrency: number
(double)
Burdened cost in functional currency. You must provide a value for this attribute for Third Party Source when Import burdened cost amounts is enabled.
-
BurdenedCostInTransactionCurrency: number
(double)
Total transaction cost including raw and burden costs for a project cost transaction in the transaction currency.
-
BusinessUnit: string
Name of the expenditure business unit to which the transaction belongs. You must provide a value for either this attribute or Business Unit ID.
-
BusinessUnitId: integer
(int32)
Identifier of the expenditure business unit to which the transaction belongs. You must provide a value for either this attribute or Business Unit.
-
CapitalizableFlag: boolean
Specifies if the transaction is capitalizable. A value of True means that the transaction is capitalizable and a value of False means that the transaction is not capitalizable.
-
ContextCategory: string
Descriptive flexfield for the context category of the project standard cost collection flexfield. When validations are requested for descriptive flexfields from third party source or projects source, you must provide a value of PJC_ALL for this attribute.
-
ContractId: integer
(int32)
Identifier of the contract for the transaction of a sponsored project. You must provide a value for either this attribute or Contract Name or Contract Number for a sponsored project.
-
ContractName: string
Name of the contract for the transaction of a sponsored project. You must provide a value for either this attribute or Contract ID or Contract Number for a sponsored project.
-
ContractNumber: string
Number of the contract for the transaction of a sponsored project. You must provide a value for either this attribute or Contract ID or Contract Name for a sponsored project.
-
DestinationTypeCode: string
The destination type code for a purchase requisition. Examples include Expense, Inventory.
-
DocumentCode: string
The code of the document used internally to capture the transaction. The document code is the document id for user-defined documents. You must provide a value for either this attribute or Document ID or Document Name. The document must be active on the expenditure item date.
-
DocumentEntry: string
The code of the document entry used to capture the transaction. You must provide a value for either this attribute or Document Entry ID or Document Entry Name.
-
DocumentEntryId: integer
(int32)
Identifier of the document entry used to capture the transaction. You must provide a value for either this attribute or Document Entry Name or Document Entry Code.
-
DocumentEntryName: string
Name of the document entry used to capture the transaction. You must provide a value for either this attribute or Document Entry ID or Document Entry Code.
-
DocumentId: integer
(int32)
Identifier of the document used to capture the transaction. You must provide a value for either this attribute or Document Name or Document Code. The document must be active on the expenditure item date.
-
DocumentName: string
Name of the document used to capture the transaction. You must provide a value for either this attribute or Document ID or Document Code. The document must be active on the expenditure item date.
-
ExpenditureItemDate: string
(date-time)
Date on which the transaction was recorded. You must provide a value for this attribute in the format YYYY-MM-DD.
-
ExpenditureOrganization: string
Name of the expenditure organization to which the transaction is charged. You must provide a value for either this attribute or Expenditure Organization ID.
-
ExpenditureOrganizationId: integer
(int32)
Identifier of the expenditure organization to which the transaction is charged. You must provide a value for either this attribute or Expenditure Organization.
-
ExpenditureType: string
A classification of cost that is assigned to the transaction. You must provide a value for either this attribute or Expenditure Type ID.
-
ExpenditureTypeId: integer
(int32)
Identifier of the expenditure type. You must provide a value for either this attribute or Expenditure Type.
-
FundingSourceId: integer
(int32)
Identifier of the funding source of a transaction for a sponsored project. You must provide a value for either this attribute or Funding Source Name or Funding Source Number.
-
FundingSourceName: string
Name of the funding source of a transaction for a sponsored project. You must provide a value for either this attribute or Funding Source ID or Funding Source Number for a sponsored project.
-
FundingSourceNumber: string
Number of the funding source of a transaction for a sponsored project. You must provide a value for either this attribute or Funding Source ID or Funding Source Name for a sponsored project.
-
InventoryItemId: integer
(int32)
Identifier of the inventory item for the transaction. You can provide a value for either this attribute or Inventory Item.
-
InventoryItemNumber: string
Number of the inventory item for the transaction. You can provide a value for either this attribute or Inventory Item Id.
-
JobId: integer
(int32)
Identifier of the job that is being performed by the person that incurred the transaction that was charged to the task.
-
NonlaborResource: string
Name of the non labor resource utilized when incurring the transaction charge. You must provide a value for either this attribute or Nonlabor Resource ID for non-labor cost transactions.
-
NonLaborResourceId: integer
(int32)
Identifier of the non labor resource utilized when incurring the transaction charge. You must provide a value for either this attribute or Nonlabor Resource for non-labor cost transactions.
-
NonlaborResourceOrganization: string
The organization that owns the nonlabor resource incurring the transaction charge. You must provide a value for either this attribute or Nonlabor Resource Organization ID for non-labor cost transactions.
-
NonlaborResourceOrganizationId: integer
(int32)
Identifier of the organization that owns the nonlabor resource incurring the transaction charge. You must provide a value for either this attribute or Nonlabor Resource Organization for non-labor cost transactions.
-
OriginalTransactionReference: string
Original transaction reference of the transaction. You must provide a unique and not null value for this attribute.
-
PartySiteId: integer
(int32)
Reference to the unique identifier for the Ship-to Party Site.
-
PatcReservedChar1: string
Reserved for future use.
-
PatcReservedChar10: string
Reserved for future use.
-
PatcReservedChar11: string
Reserved for future use.
-
PatcReservedChar12: string
Reserved for future use.
-
PatcReservedChar13: string
Reserved for future use.
-
PatcReservedChar14: string
Reserved for future use.
-
PatcReservedChar15: string
Reserved for future use.
-
PatcReservedChar2: string
Reserved for future use.
-
PatcReservedChar3: string
Reserved for future use.
-
PatcReservedChar4: string
Reserved for future use.
-
PatcReservedChar5: string
Reserved for future use.
-
PatcReservedChar6: string
Reserved for future use.
-
PatcReservedChar7: string
Reserved for future use.
-
PatcReservedChar8: string
Reserved for future use.
-
PatcReservedChar9: string
Reserved for future use.
-
PatcReservedDate1: string
(date-time)
Reserved for future use.
-
PatcReservedDate2: string
(date-time)
Reserved for future use.
-
PatcReservedDate3: string
(date-time)
Reserved for future use.
-
PatcReservedDate4: string
(date-time)
Reserved for future use.
-
PatcReservedDate5: string
(date-time)
Reserved for future use.
-
PatcReservedNum1: integer
(int32)
Reserved for future use.
-
PatcReservedNum10: integer
(int32)
Reserved for future use.
-
PatcReservedNum11: integer
(int32)
Reserved for future use.
-
PatcReservedNum12: integer
(int32)
Reserved for future use.
-
PatcReservedNum13: integer
(int32)
Reserved for future use.
-
PatcReservedNum14: integer
(int32)
Reserved for future use.
-
PatcReservedNum15: integer
(int32)
Reserved for future use.
-
PatcReservedNum2: integer
(int32)
Reserved for future use.
-
PatcReservedNum3: integer
(int32)
Reserved for future use.
-
PatcReservedNum4: integer
(int32)
Reserved for future use.
-
PatcReservedNum5: integer
(int32)
Reserved for future use.
-
PatcReservedNum6: integer
(int32)
Reserved for future use.
-
PatcReservedNum7: integer
(int32)
Reserved for future use.
-
PatcReservedNum8: integer
(int32)
Reserved for future use.
-
PatcReservedNum9: integer
(int32)
Reserved for future use.
-
PersonId: integer
(int32)
Identifier that uniquely identifies the person who is associated with the transaction. You must provide a value for either this attribute or Person Name or Person Number for labor cost transactions and expense report transactions.
-
PersonName: string
Name that uniquely identifies the person who is associated with the transaction. You must provide a value for this attribute or Person ID or Person Number for labor cost transactions and expense report transactions. If providing a value for this attribute, provide the full name of the person.
-
PersonNumber: string
Number that uniquely identifies the person who is associated with the transaction. You must provide a value for either this attribute or Person ID or Person Name for labor cost and expense report transactions.
-
PersonTypeCode: string
The type used to classify the person in human resources.
-
ProjectId: integer
(int32)
Identifier of the project to which the transaction is charged. You must provide a value for either this attribute, Project Name or Project Number.
-
ProjectName: string
Name of the project to which the transaction is charged. You must provide a value for either this attribute, Project ID or Project Number .
-
ProjectNumber: string
Number of the project to which the transaction is charged. You must provide a value for either this attribute, Project ID or Project Name.
-
ProviderLedgerCurrencyCode: string
Functional currency code.
-
ProviderLedgerCurrencyConversionDate: string
(date-time)
Conversion rate date for the transaction. You must provide a value for this attribute when the transaction currency is different from the provider ledger currency in the format YYYY-MM-DD.
-
ProviderLedgerCurrencyConversionRate: number
(double)
Exchange rate for the transaction. You must provide a value for this attribute when the transaction currency is different from the provider ledger currency
-
ProviderLedgerCurrencyConversionRateTypeCode: string
Conversion rate type for the transaction. You must provide a value for this attribute when the transaction currency is different from the provider ledger currency
-
Quantity: integer
(int32)
Quantity provided for the transaction. You must provide a value for quantity when the expenditure type associated to the project cost transaction is rate-based.
-
RawCostCreditAccount: string
The ledger account that receives the credit amount for the raw cost associated with the transaction. You must provide a value for this attribute when raw costs are accounted in the third party source application.
-
RawCostCreditAccountCombinationId: integer
(int32)
Code combination identifier of the raw cost credit account. You must provide a value for this attribute when raw costs are accounted in the third party source application.
-
RawCostDebitAccount: string
The ledger account that receives the debit amount for the raw cost associated with the transaction. You must provide a value for this attribute when raw costs are accounted in the third party source application.
-
RawCostDebitAccountCombinationId: integer
(int32)
Code combination identifier of the raw cost debit account. You must provide a value for this attribute when raw costs are accounted in the third party source application.
-
RawCostInProviderLedgerCurrency: number
(double)
VRaw cost in functional currency. You must provide a value for this attribute for project cost transactions that are accounted externally in a third party source application.
-
RawCostInTransactionCurrency: number
(double)
Raw cost in the transaction currency.
-
ReversedOriginalTransactionReference: string
The transaction reference for the original transaction that is reversed. You must provide a value for this attribute when the unmatched negative transaction flag value is true.
-
SourceId1: integer
(int32)
The placeholder for the subledger transaction identifier. For example, the payables header or distribution or line number identifier.
-
SourceId2: integer
(int32)
The placeholder for the subledger transaction identifier. For example, the payables header or distribution or line number identifier.
-
SourceId3: integer
(int32)
The placeholder for the subledger transaction identifier. For example, the payables header or distribution or line number identifier.
-
SourceId4: integer
(int32)
The placeholder for the subledger transaction identifier.
-
SourceId5: integer
(int32)
The placeholder for the subledger transaction identifier.
-
SourceId6: integer
(int32)
The placeholder for the subledger transaction identifier.
-
TaskId: integer
(int32)
Identifier of the task to which the transaction is charged. You must provide a value for either this attribute or Task Name or Task Number.
-
TaskName: string
Name of the task to which the transaction is charged. You must provide a value for either this attribute or Task ID or Task Number.
-
TaskNumber: string
Number of the task to which the transaction is charged. You must provide a value for either this attribute or Task ID or Task Name.
-
TransactionCurrencyCode: string
The transaction currency code.
-
TransactionNumber: string
Alphanumeric transaction number that uniquely identifies the subledger transaction within the application.
-
TransactionSourceCode: string
The code of the application in which the transaction is originally created. You must provide a value for either this attribute or Transaction Source ID or Transaction Source Name.
-
TransactionSourceId: integer
(int32)
Identifier of the transaction source. You must provide a value for either this attribute or Transaction Source Code or Transaction Source Name.
-
TransactionSourceName: string
Name of the transaction source in which the transaction is originally created. You must provide a value for either this attribute or Transaction Source ID or Transaction Source Code.
-
UnitOfMeasureCode: string
Code that identifies the unit of measure for the item that is requested, ordered, or supplied. You can provide a value for either this attribute or Unit of Measure.
-
UnmatchedNegativeTransactionFlag: boolean
Indicates whether the transaction is the reversal of a matched transaction. Provide a value of True when the transaction is not a reversal of the matched transaction and a value of False when the transaction is a reversal of the matched transaction. If a value of False is provided, you must also provide a value for the attribute Reversed Original Transaction Reference.
-
UserDefinedAttribute1: string
Descriptive flexfield for the user defined segment1 of the project standard cost collection flexfield.
-
UserDefinedAttribute10: string
Descriptive flexfield for the user defined segment10 of the project standard cost collection flexfield.
-
UserDefinedAttribute2: string
Descriptive flexfield for the user defined segment2 of the project standard cost collection flexfield.
-
UserDefinedAttribute3: string
Descriptive flexfield for the user defined segment3 of the project standard cost collection flexfield.
-
UserDefinedAttribute4: string
Descriptive flexfield for the user defined segment4 of the project standard cost collection flexfield.
-
UserDefinedAttribute5: string
Descriptive flexfield for the user defined segment5 of the project standard cost collection flexfield.
-
UserDefinedAttribute6: string
Descriptive flexfield for the user defined segment6 of the project standard cost collection flexfield.
-
UserDefinedAttribute7: string
Descriptive flexfield for the user defined segment7 of the project standard cost collection flexfield.
-
UserDefinedAttribute8: string
Descriptive flexfield for the user defined segment8 of the project standard cost collection flexfield.
-
UserDefinedAttribute9: string
Descriptive flexfield for the user defined segment9 of the project standard cost collection flexfield.
-
ValidationScope: string
The validation scope for the transaction. Valid values include SKIP, NULL. A value of SKIP will bypass all validations and NULL will enforce all validations.
-
VendorId: integer
(int32)
Identifier of the vendor. You can provide a value for either this attribute or Vendor Name or Vendor Number for third party supplier transactions.
-
VendorName: string
Name of the vendor. You must provide a value for either this attribute or Vendor ID or Vendor Number for third party supplier transactions.
-
VendorNumber: string
Number of the vendor. You can provide a value for either this attribute or Vendor ID or Vendor Name for third party supplier transactions.
-
WorkType: string
Name of the work type for the transaction. You can provide a value for either this attribute or Work Type ID.
-
WorkTypeId: integer
(int32)
Identifier of the work type for the transaction. You can provide a value for either this attribute or Work Type.
Response
- application/json
Default Response
object
-
Results: array
Results
Values that contain the response for the project cost validation output row.
-
TotalFailedTransactionsCount: integer
(int32)
The total count of project cost transactions that failed validation in a single request.
-
TotalPassedTransactionsCount: integer
(int32)
The total count of project cost transactions that passed validation in a single request.
-
TotalPassedWithWarningTransactionsCount: integer
(int32)
The total count of project cost transactions that passed validation but with a warning status in a single request.
-
TotalTransactionsCount: integer
(int32)
The total count of project cost transactions requested for validation in a single request.
array
object
-
OriginalTransactionReference: string
Original transaction reference of the transaction.
-
ValidationErrors: array
ValidationErrors
The list of errors and warnings for a project cost transaction for which validation was not successful.
-
ValidationStatus: string
The validation status of the project cost transaction. Possible values include PASSED, PASSED WITH WARNINGS,??FAILED.
array
object
-
MessageName: string
The message name for a project cost transaction for which validation was not successful.
-
MessageText: string
The message text indicating the cause and resolution for a project cost transaction for which validation was not successful.
-
MessageTypeCode: string
The message type code for a project cost transaction for which validation was not successful. Possible values include Error, Warning.
-
MessageUserDetails: string
The message details in addition to the message text to help with resolution for a project cost transaction for which validation was not successful.
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" } ] } }