PA Transaction Upload
PA Transaction Upload loads pre-approved expenditure items into Oracle Projects from Excel – timecards, usages, expenses, supplier costs and other cost transactions – by staging them in the Projects Transaction Import interface and then running Transaction Import. It creates new transactions; it does not change posted expenditure items.
When to use it
- Import costs from external or legacy systems (third-party payroll, timekeeping, usage, expense feeds) as project expenditure items.
- Load miscellaneous, usage or supplier-cost transactions in bulk against projects and tasks.
- Bring in accounted transactions that already carry their GL debit/credit accounts.
- Post negative or accrual/reversal transactions for period-end adjustments.
- Re-load and correct a batch of rows that previously failed import.
- Stage and import in a single submission, or stage only for a later manual import.
Before you start
- Blitz Report is installed and you are signed in to a responsibility with access to the operating unit and the right to run Transaction Import.
- A Projects-enabled operating unit, an active Transaction Source, and a Batch Name.
- The project and task exist, are chargeable to expenditures, and are active on the expenditure item date.
Step 1 – Choose a mode, set the parameters and download
In Blitz Report, open PA Transaction Upload, choose an Upload Mode (Create for an empty template, or Create, Update to retrieve transactions still in the interface), and set the parameters:
| Parameter | Purpose |
|---|---|
| Upload Mode | Create or Create, Update. Default is Create. |
| Operating Unit | Restricts the template to one Projects-enabled operating unit. |
| Transaction Source / Batch Name | Default the source and batch onto every row. |
| Import Transactions | Yes (default) runs Transaction Import after staging; No stages only for a later manual import. |
Run the upload to download and open the Excel file.
Step 2 – Enter the transactions
On each row enter the Operating Unit, Transaction Source, Expnd Type Class, Batch Name, a unique Original Trans Ref, the Expenditure Ending Date, the Project Number, Task Number and Expnd Type, the Expnd Item Date and the Quantity. Add cost, currency, employee, GL accounting or vendor/PO columns as the transaction type requires.
Step 3 – Validate and Save
Click Validate and Save. This checks for missing required values and runs the upload’s validation (week-ending date, duplicate reference, costed/accounted rules, currency rules), then saves the file. Correct anything it flags before continuing.
Step 4 – Upload and view the result
Back in Blitz Report, click Upload and select your saved file. This submits the Blitz Upload request, which stages the transactions and (unless you chose not to) runs Transaction Import. When it finishes, a result report opens showing each row as success or error.
What’s produced
- Pre-approved expenditure items in Oracle Projects (or staged interface rows when import is deferred).
- A result report listing every row with a status (success or error) and a message.
Common questions
Does this create the final expenditure items directly?
No. It writes to the Transaction Import interface and then runs Transaction Import, which creates the expenditure items. You can defer the import by setting Import Transactions = No.
Can I update or delete an expenditure item that already imported?
No – this upload only stages new transactions. Adjust already-imported items through standard Projects functionality.
What stops duplicates?
Each transaction carries an Original Transaction Reference. If the Transaction Source disallows duplicates, a row whose reference already exists is rejected.
Why must the Expenditure Ending Date be a specific date?
It must be a valid week-ending date for the operating unit’s expenditure cycle; the template defaults the correct value.
When are GL accounts and exchange-rate fields required?
Only for an accounted Transaction Source (GL date + debit/credit accounts) and for foreign-currency transactions (rate type/date, and a rate for a User rate type).
Troubleshooting
| Message | Cause | What to do |
|---|---|---|
| Expenditure Ending Date is not a valid week-ending date | The date doesn’t match the operating unit’s expenditure cycle. | Use the template-defaulted ending date, or the correct week-ending date. |
| An expenditure item with this Original Transaction Reference already exists | Duplicate reference where the source doesn’t allow duplicates. | Use a unique reference, or confirm the item was already imported. |
| GL Date, Debit Account and Credit Account are required for accounted transactions | An accounted source row is missing GL accounting fields. | Fill the GL date and the debit and credit accounts. |
| Non Labor Resource and Non Labor Org are required for usage transactions | A usage-class row is missing the resource/org. | Select a valid non-labor resource and its owning organization. |
| Rows imported but Import Transactions wasn’t run | Import Transactions was set to No, or the import step failed. | Re-submit with Import Transactions = Yes, or run Transaction Import for that source/batch. |
select null action_, null status_, null message_, null request_id_, null modified_columns_, null row_id, -- haouv.name operating_unit, (select pts.user_transaction_source from pa_transaction_sources pts where pts.transaction_source = ptia.transaction_source) transaction_source, xxen_pa_upload.get_system_linkage_meaning(ptia.system_linkage) expnd_type_class, ptia.expenditure_ending_date expnd_ending_date, ptia.batch_name batch_name, ptia.orig_transaction_reference original_transaction_ref, -- ptia.organization_name organization_name, null employee_name, ptia.employee_number employee_number, ptia.person_business_group_name business_group, ptia.person_type person_type, ptia.override_to_organization_name override_to_organization, -- ptia.expenditure_item_date expnd_item_date, ptia.project_number project_number, null project_name, ptia.task_number task_number, null task_name, ptia.expenditure_type expnd_type, -- ptia.non_labor_resource non_labor_resource, --usages ptia.non_labor_resource_org_name non_labor_org, --usages ptia.assignment_name assignment_name, -- timecards ptia.work_type_name work_type_name, -- ptia.quantity quantity, -- ptia.denom_currency_code currency, ptia.denom_raw_cost raw_cost, ptia.denom_burdened_cost burdened_cost, ptia.acct_raw_cost acctd_raw_cost, ptia.acct_burdened_cost acctd_burdened_cost, ptia.raw_cost_rate, ptia.burdened_cost_rate, -- ptia.acct_rate_type acctd_exchange_rate_type, ptia.acct_rate_date acctd_exchange_rate_date, ptia.acct_exchange_rate acctd_exchange_rate, ptia.acct_exchange_rounding_limit acctd_exchange_rounding_limit, -- ptia.receipt_currency_code, ptia.receipt_currency_amount, ptia.receipt_exchange_rate, ptia.project_rate_type, ptia.project_rate_date, ptia.project_exchange_rate, ptia.projfunc_cost_rate_type project_func_rate_type, ptia.projfunc_cost_rate_date project_func_rate_date, ptia.projfunc_cost_exchange_rate project_func_exchange_rate, -- ptia.reversed_orig_txn_reference reversed_orig_transaction_ref, ptia.unmatched_negative_txn_flag negative_txn_flag, xxen_util.meaning(ptia.accrual_flag,'YES_NO',0) accrual_flag, xxen_util.meaning(ptia.billable_flag,'YES_NO',0) billable_flag, -- ptia.gl_date gl_date, (select gcck.concatenated_segments from gl_code_combinations_kfv gcck where gcck.code_combination_id = ptia.dr_code_combination_id) debit_acct, (select gcck.concatenated_segments from gl_code_combinations_kfv gcck where gcck.code_combination_id = ptia.cr_code_combination_id) credit_acct, -- ptia.vendor_number vendor_number, ptia.po_number po_number, ptia.po_line_num po_line_number, ptia.po_price_type po_price_type, -- ptia.expenditure_comment, -- ptia.orig_user_exp_txn_reference orig_user_expnd_trx_ref, ptia.orig_exp_txn_reference1 orig_expnd_transaction_ref1, ptia.orig_exp_txn_reference2 orig_expnd_transaction_ref2, ptia.orig_exp_txn_reference3 orig_expnd_transaction_ref3, ptia.cdl_system_reference1 cdl_system_ref1, ptia.cdl_system_reference2 cdl_system_ref2, ptia.cdl_system_reference3 cdl_system_ref3, ptia.cdl_system_reference4 cdl_system_ref4, ptia.cdl_system_reference5 cdl_system_ref5, -- ptia.attribute_category attribute_category, ptia.attribute1 pa_expnd_attribute1, ptia.attribute2 pa_expnd_attribute2, ptia.attribute3 pa_expnd_attribute3, ptia.attribute4 pa_expnd_attribute4, ptia.attribute5 pa_expnd_attribute5, ptia.attribute6 pa_expnd_attribute6, ptia.attribute7 pa_expnd_attribute7, ptia.attribute8 pa_expnd_attribute8, ptia.attribute9 pa_expnd_attribute9, ptia.attribute10 pa_expnd_attribute10, -- xxen_util.meaning(nvl(:p_submit_import,'Y'),'YES_NO',0) import_transactions from pa_transaction_interface_all ptia, hr_all_organization_units_vl haouv where 1=1 and ptia.org_id = haouv.organization_id and :p_upload_mode like '%' || xxen_upload.action_update and haouv.name = nvl(:p_operating_unit,haouv.name) and ptia.transaction_source = nvl(:p_transaction_source,ptia.transaction_source) and ptia.batch_name = nvl(:p_batch_name,ptia.batch_name) and nvl(:p_expnd_ending_date,sysdate) = nvl(:p_expnd_ending_date,sysdate) and nvl(:p_unmatched_neg_txn_flag,'X') = nvl(:p_unmatched_neg_txn_flag,'X') and nvl(:p_accrual_flag,'X') = nvl(:p_accrual_flag,'X') |
| Parameter Name | SQL text | Validation | |
|---|---|---|---|
| Operating Unit | LOV | ||
| Transaction Source | LOV | ||
| Batch Name | Char | ||
| Expenditure Ending Date | Date | ||
| All Negative Expend Unmatched | LOV | ||
| Reverse in Future Period | LOV | ||
| Import Transactions | LOV Oracle |