Redwood User Experience for Managing Unbilled Transactions
Continuously manage unbilled transactions using a next-generation Redwood user experience, alleviating time pressures at billing period end, improving invoice accuracy and reducing the number of credit rebills.
A screenshot showing the Bill Transactions page. The search, currency toggle, and data grid features are highlighted.
The Bill Transactions page with status badge, status reason, and change status action control highlighted.
The Bill Transactions page with a change status action in progress.
A single Bill Transaction opened to show more details.
In this first release, users can experience:
- Smart Search, a quick way to find the transactions they're interested in. Filter transactions by:
- Project
- Transaction Date Range
- Transaction Type
- Transaction Number (using keyword search)
- Status
- Status Reason
- Data Grid, a familiar spreadsheet-like UI for managing transactions, maximizing screen real estate.
- Drag and drop columns
- Hide columns
- Resize columns to fit data or headings
- Sort columns (currently only the Transaction Date column is enabled for sorting)
- Selection-based actions, including the ability to change a bill transaction:
- Status (between Ready, On hold and Nonbillable)
- Bill quantity
- Unit price
- Amount to bill
Let's explore this user experience through two user stories:
Amy Watkins, Project Manager
- Amy manages 5 projects at the Vision Operations organization. It's the second week of the month, and Amy wants to review the last two week's of unbilled labor transactions on one of her projects with the client.
- Amy navigates to the Project Management work area, selects the desired project from the My Projects list, and then selects the new Manage Bill Transactions link from the task drawer. The Bill Transactions page opens showing transactions for which Amy has data access, with a filter applied for the project that was selected in the My Projects page.
- The Bill Transactions page is also available to Amy's Project Administrators who work in the PMO. The Manage Bill Transactions link is accessed from the task drawer of the Project Financial Management work area.
- Amy can refine her search criteria to address her specific business questions:
- Add a filter on transaction type to restrict to labor transactions.
- Add a filter on transaction date range to restrict transactions to the last two weeks.
- Add a filter on status to only show transactions that are unbilled.
- During the review with the client, a potential issue is spotted with the number of hours booked by a project team member on a specific date (12 hours were booked, but Amy and the client were expecting 8 hours). To ensure these transactions are not billed yet, Amy selects the transactions and changes their status to "On hold", choosing an appropriate action reason ("Client query") from the configurable list. Amy creates a browser bookmark for the page, which includes her search criteria, so that she can come back to this context later if needed.
- Amy discusses the issue with the project team member, who confirms that they did work 12 hours to complete a task, which was more than the planned amount agreed with the client. Amy now has four options:
- Inform the client of the overrun to gauge appetite for payment. Or,
- Ask the team member to change their time card to 8 hours. This is not ideal as it means that effort versus plan reporting will be skewed, as will the project cost. Or,
- Split the project cost into billable (8 hours) and nonbillable (4 hours) transactions. This will result in an additional bill transaction being created. Or,
- (New in this release) Liaise with the Project Billing Specialist to amend the bill quantity for this transaction to 8 hours in the Bill Transactions page. This change does not affect the effort recorded on the project cost transaction. Subject to privilege, Project Managers can also perform this action if desirable, refer to the Access Requirements section.
- Amy decides that option 4 is the best way to remediate the issue. Once the Project Billing Specialist has made the change, Amy updates the status of the bill transaction back to "Ready" (to bill), choosing an appropriate action reason ("PM reviewed") from the configurable list of values.
Ben Simmons, Project Billing Specialist
- Ben is responsible for the smooth operation of the project billing process within the Vision Operations organization. Ben services the billing needs of 100 project managers, each managing anywhere from 1 to 10 billable projects at a time.
- A project manager informs Ben that the monthly unbilled fee amount for a number of projects doesn't look right. Fees have been added to each project for 1,000 USD, but they should have been 1,500 USD. The projects are all for the same client, and project numbering has been configured such that projects for the same client start with the same code, "HILMAN".
- Ben navigates to the Contract Management > Invoices work area, and selects the new Manage Bill Transactions link from the task drawer. The Bill Transactions page opens showing the bill transactions for which Ben has data access.
- Ben uses the reduction list of the Project filter chip to filter all projects starting with "HILMAN". Ben applies additional filters as needed:
- Adds a filter on transaction type to restrict to fee transactions.
- Adds a filter on transaction date range to restrict transactions to the current month.
- Adds a filter on status to only show transactions that are unbilled.
- Ben sees 20 fee transactions that have an amount to bill of 1,000 USD. Ben selects the transactions, and takes an action to change the amount to bill to 1,500 USD as instructed. A message is displayed informing Ben that the action has been completed successfully, and the changes are automatically synchronized to the associated billing events.
- Ben is able to take similar actions to change the unit price and bill quantity of transactions that are priced on a quantity-basis.
The key business benefits of this feature are:
- Alleviate time pressures at billing period end by continuously reviewing and adjusting unbilled transactions, without needing to generate invoices prematurely.
- Provides an alternate approach to quickly rectify missing rate exceptions, without having to go back to the contract or rate source.
Steps to Enable
Use the Opt In UI to enable this feature. For instructions, refer to the Optional Uptake of New Features section of this document.
Offering: Project Financial Management No Longer Optional From: Update 26D
Additional steps:
- Enabling this feature is dependent on enabling the previously released Bill Transaction Creation on Cost Import feature. Please review the Release Readiness materials for that feature in full, as it does bring about some important changes to application behavior.
- When a user performs a status change action they can optionally provide a reason for the change. These "action reasons" are configured using the Manage Standard Lookups task in Setup and Maintenance, with one lookup type per bill transaction status:
- Lookup type code: ORA_PJB_BT_ACTION_STS_HOLD, Lookup meaning: Reason for changing bill transaction status to on hold
- Lookup type code: ORA_PJB_BT_ACTION_STS_NONBIL, Lookup meaning: Reason for changing bill transaction status to nonbillable
- Lookup type code: ORA_PJB_BT_ACTION_STS_READY, Lookup meaning: Reason for changing bill transaction status to ready
- The existing profile option Unit of Measure for Invoice Lines Sent to Oracle Fusion Receivables (PJB_AR_INVOICE_UOM) must be configured as it is used as the default for bill transactions with amount-based pricing. Refer to the Important Concepts section under Tips & Considerations for more details.
- The seeded data security policies controlling access to bill transactions for project managers rely on the user's project role being mapped to their job role (also known as enterprise role) in the Manage Project Roles task in Setup and Maintenance. This is not a change in this release, rather a reminder from the previously released Bill Transaction and Exception Analysis Using Oracle Transactional Business Intelligence (23B) feature.
Tips And Considerations
Important Concepts
The following concepts are important in understanding how the Bill Transactions page works, but also how the Bill Transaction business object has been shaped to standardize and simplify the user experience, to better support customer's needs:
- The Bill Transactions page enables users to manage bill transactions that are applicable to external invoicing. The page is not designed to manage revenue-only transactions, or bill transactions related to intercompany or interproject billing.
- The amount to bill of a bill transaction can always be expressed as a product of the bill quantity and unit price (rate). This rule applies irrespective of how the bill transaction was priced, for example, whether a bill rate was used, or a markup.
- To support the above, the concept of a "pricing type" has been introduced (not currently visible in the UI), which governs whether users can perform actions to change the bill quantity, unit price, or the amount to bill. There are two pricing types currently supported:
- Quantity-based: The amount to bill is calculated by applying a unit price to a recorded quantity, denominated in a meaningful unit of measure. Examples include a bill transaction priced using a rate schedule with a bill rate, or an item-based billing event. Privileged users can change the quantity and/or the unit price of transactions with this pricing type.
- Amount-based: The amount to bill is either recorded directly, or a currency amount is attenuated by a multiplier or percentage. A recorded quantity is not used in the calculation of the amount to bill. Examples include a bill transaction priced using a rate schedule with a markup, or a non-item based billing event. Transactions priced on an amount basis have a quantity of "1", a default unit of measure (see Steps to Enable section), and the unit price is equal to the amount to bill. Privileged users can change the amount to bill of transactions with this pricing type, but not the quantity or unit price.
- When a user changes the status of a bill transaction, behind the scenes these changes are synchronized with the source transactions (project costs or billing events) for backwards compatibility. The same applies to changes of the bill quantity or amount for bill transactions associated with billing events; the changes are synchronized back to the billing events. Conversely, changes to the bill transaction quantity are not synchronized back to project cost transactions. The reason being, cost quantity and bill quantity are considered as first class measurements on each respective business object, to give customers maximum flexibility. So whilst one may influence the other (for example, the cost quantity being used as the default for bill quantity), the two are not systematically locked together.
- Redwood pages typically use the same REST APIs that we make available to customers to build integrated or automation solutions. Therefore, actions to change a bill transaction status, quantity, unit price, and amount to bill are also available using REST API.
FAQs
Can I create browser bookmarks for the page?
Yes. Browser bookmarks are fully supported, and they include the current bill transaction search criteria. The URL structure can also be used for linking from other applications, such as OTBI. Here's an example of the page URL with all of the currently supported filters included:
https://{{yourfusionurl.com}}/fscmUI/redwood/project-billing/bill-transactions/manage?billing_status=READY%7CON_HOLD&keywords=100106415011830&project_id=300100628624901&status_reason=PM_REVIEW_READY&transaction_date=2023-06-01%7C2024-08-31&transaction_type=10001
Can I use the browser refresh button?
Yes, and search criteria are preserved through the URL. You can use browser refresh after taking an action to refresh data on the page.
What's the symbol next to some currency amounts?
If the Invoice Currency or Contract Currency are different to the Transaction Currency, then currency conversion takes place (according to contract and application setups). If a displayed amount is the product of currency conversion, an icon next to the amount indicates that this has happened.
The Bill Transactions page showing the currency switcher and currency conversion indicator
How do I search on Transaction Number?
You do this using keyword search. Simply type the transaction number into the Smart Search box and hit return. Currently only the Transaction Number attribute is enabled for keyword search.
The Bill Transaction page showing a keyword search on Transaction Number.
Data Upgrade
The bill transaction business object has been taking shape over the last year or so. During this time we have added new properties to the business object, such as status, status reason and pricing type. Therefore, these properties will be blank (null) for historic transactions. Given that unbilled transactions typically have a relatively short lifecycle (where many customers bill monthly in arrears), this may not present an issue. Also, given that managing bill transactions is a new business process, it may also be beneficial to introduce the use of this UI for new projects only.
However, if it is important to your business to query and manage historic bill transactions, then we have provided a facility for you to upgrade data. Please note that this is an irreversible process, so please ensure to run this in a non-production environment and reconcile the results. In order to run the data upgrade you must have opted in to the Bill Transaction Creation on Cost Import feature. You then need to run the Generate Invoices process with the following parameters:
-
Create Billing Transactions: No
-
Create Invoice: No
- Billing Type: External
Some FAQs on the data upgrade process:
Which parameters of the Generate Invoice process are honored when running in data upgrade mode?
Business Unit, Contract Number, Contract Range, Bill From Date, Bill-Through Date. All other parameters are ignored. If the Bill From Date is left blank, then a default of 01-JAN-2023 is used.
Are transactions associated with closed contracts included in the data upgrade?
No.
How are transactions identified as needing to be upgraded?
Where the billing status is blank.
Can I run the data upgrade again for the same transactions?
Not as standard. You'll need to contact Oracle Support.
Can I reverse or undo the upgrade?
No.
Current Limitations
Our plan is to incrementally release value to customers, improving the user experience with every release, prioritized based on demand. Whilst we've packed as much as we can into this first release, there are sadly some elements that didn't make the cut such as action history and approvals. Look out for an upcoming post on Customer Connect where we explore some of these limitations in more detail, along with other FAQs.
What's Next
As above, our plan is to incrementally release value and we're already working on the next enhancements to this user experience. However, we'd love to hear from you on Customer Connect to help us shape what comes next (one idea per feature please; this helps with the votes)!
A couple of features planned for an upcoming release:
- Manage bill transactions by exception by configuring rules which set the initial status and status reason of bill transactions
- For example, bill transactions are created with a status of "On hold", and a status reason of "Needs review".
- Ability to add more columns to the Data Grid
Key Resources
- The Release Readiness materials for the following previously released features may provide additional useful context:
- Bill Transaction and Exception Analysis Using Oracle Transactional Business Intelligence (23B)
- Project Contract Bill Transaction Retrieval Using a REST API (23B)
- Bill Transaction Creation on Cost Import (23C)
- Bill Transaction Creation on Billing Event Creation (23D)
- Additional Bill and Revenue Plan Analysis Using Oracle Transactional Business Intelligence (23D)
- Bill Transaction Synchronization on Billing Event Update or Delete (24A)
- Work-in-Progress by Billing Status Analysis Using OTBI (24B)
- Improvements to Real-Time WIP Reporting (24C)
Access Requirements
The bill transaction security architecture enables organizations to:
- Create a read-only role to access the Bill Transactions page.
- Allow users to have read-only access to transactions in one data context (for example, Business Unit A), allow some actions on transactions in another data context (for example, Business Unit B), and other actions on transactions in another data context (for example, Business Unit C).
Keep an eye out on Customer Connect for an upcoming post which takes a deeper dive into bill transaction security.
Control access to the Bill Transactions page
Assuming the opt-in for this feature is enabled, users must have the Manage Project Contract Bill Transaction (PJB_MANAGE_PROJECT_CONTRACT_BILL_TRANSACTION_PRIV) privilege to access the Bill Transactions page. Out of the box, this privilege is included in the following job/duty roles:
- Project Billing Specialist (ORA_PJF_PROJECT_BILLING_SPECIALIST_JOB)
- Project Management Duty (ORA_PJF_PROJECT_MANAGEMENT_DUTY_ABSTRACT)
- Grants Accountant (ORA_PJF_GRANTS_ACCOUNTANT_JOB)
- Grants Administrator (ORA_PJF_GRANTS_ADMINISTRATOR_JOB)
- Principal Investigator (ORA_PJF_PRINCIPAL_INVESTIGATOR_JOB)
- Grants Department Administrator (ORA_PJF_GRANTS_DEPARTMENT_ADMINISTRATOR_JOB)
Control access to which transactions a user can query
Out of the box, data security policies are defined for the action of viewing bill transactions. The same policies are used to control data access in OTBI. Additional policies can be created as needed using the Security Console.
Role | Policy | Action |
---|---|---|
Project Billing Specialist (ORA_PJF_PROJECT_BILLING_SPECIALIST_JOB) | Users can query bill transactions by assigning (contract) Business Unit data access through the Manage Data Access for Users task in Setup and Maintenance. | View Project Contract Bill Transaction (PJB_VIEW_PROJECT_CONTRACT_BILL_TRANSACTION_DATA) |
Project Manager (ORA_PJF_PROJECT_MANAGER_JOB) |
Users can query transactions on which they hold an active project manager project role. Note that the seeded data security policy requires the job role (also known as enterprise role) to be mapped to the user's project role using the Manage Project Roles task in Setup and Maintenance. Out of the box, the seeded Project Manager project role is mapped to the Project Manager enterprise role. If your organization doesn't want to map project roles to job roles, then a custom data security policy for querying bill transactions can be created. |
View Project Contract Bill Transaction (PJB_VIEW_PROJECT_CONTRACT_BILL_TRANSACTION_DATA) |
Grants Accountant (ORA_PJF_GRANTS_ACCOUNTANT_JOB) | Users can query bill transactions by assigning (contract) Business Unit data access through the Manage Data Access for Users task in Setup and Maintenance. | View Project Contract Bill Transaction (PJB_VIEW_PROJECT_CONTRACT_BILL_TRANSACTION_DATA) |
Grants Administrator (ORA_PJF_GRANTS_ADMINISTRATOR_JOB) | Users can query bill transactions by assigning (contract) Business Unit data access through the Manage Data Access for Users task in Setup and Maintenance. | View Project Contract Bill Transaction (PJB_VIEW_PROJECT_CONTRACT_BILL_TRANSACTION_DATA) |
Principal Investigator (ORA_PJF_PRINCIPAL_INVESTIGATOR_JOB) | Users can query transactions on which they hold an active principle investigator award role. | View Project Contract Bill Transaction (PJB_VIEW_PROJECT_CONTRACT_BILL_TRANSACTION_DATA) |
Grants Department Administrator (ORA_PJF_GRANTS_DEPARTMENT_ADMINISTRATOR_JOB) | Users can query bill transactions by assigning Award Organization data access through the Manage Data Access for Users task in Setup and Maintenance. | View Project Contract Bill Transaction (PJB_VIEW_PROJECT_CONTRACT_BILL_TRANSACTION_DATA) |
Control access to which actions a user can take
Functional privileges control which actions a user can take on transactions. If a user does not have a functional privilege, they cannot take the corresponding action in any data context, neither will the corresponding control/button be rendered in the UI. The following table summarizes the privileges that are available, and which job roles they are assigned to out of the box:
Role | Privilege |
---|---|
Project Billing Specialist (ORA_PJF_PROJECT_BILLING_SPECIALIST_JOB) |
|
Project Manager (ORA_PJF_PROJECT_MANAGER_JOB) |
|
Control access to which actions a user can take in specific data contexts
Out of the box, data security policies are defined for the various bill transaction actions and assigned to various job roles. This controls which action a user can take in different data contexts, as defined by the policies (assuming that the user also has the functional privilege for the action, as above). Additional policies can be created as needed using the Security Console.
Role | Policy | Action |
---|---|---|
Project Billing Specialist (ORA_PJF_PROJECT_BILLING_SPECIALIST_JOB) | Users can perform actions on bill transactions by assigning (contract) Business Unit data access through the Manage Data Access for Users task in Setup and Maintenance. |
|
Project Manager (ORA_PJF_PROJECT_MANAGER_JOB) |
Users can perform actions on bill transactions on which they hold an active project manager project role. Note that the seeded data security policy requires the job role (also known as enterprise role) to be mapped to the user's project role using the Manage Project Roles task in Setup and Maintenance. Out of the box, the seeded Project Manager project role is mapped to the Project Manager enterprise role. If your organization doesn't want to map project roles to job roles, then a custom data security policy for taking actions on bill transactions can be created. |
|