Oracle Grants and Project Accounting: Cracking the POETAF Puzzle
Understanding POETAF in Oracle Cloud Project Accounting
This guide is for organizations exploring Oracle Cloud Grants/Projects or starting a new implementation. It explains what POETAF is and why it is central to project accounting in Oracle Cloud. This structure often differs from legacy system approaches, which can be confusing at first.
What is POETAF?
In Oracle Cloud, all transactions coded to projects use POETAF instead of a general ledger (GL) chart of accounts (CoA) string.
POETAF stands for:
Project – A unique identifier for a grouping of costs, budgets, and activities within the Project module. Think of it as the “container” for everything related to a specific project.
Expense Organization – The department or organization responsible for the expense. This may differ from the Project Owning Organization (e.g., Department A provides staff to a project managed by Department B).
Expenditure Type – Classifies the expense, often aligning one-to-one with GL natural accounts. Examples: Salaries, Employee Mileage, Office Supplies.
Task – A sub-level grouping within a project, often used in capital projects to track costs by phase (e.g., Planning, Construction).
Award Number – A project may have multiple awards if funded by multiple sponsors. Only applicable to projects linked to a grant award.
Funding Source – Identifies the origin of funds (e.g., sponsor, internal cost share). Also only applicable to grants project.
Key Leading Practices
1. Recognize Oracle’s Different Approach
In many older systems, you might code every transaction with a full GL chart of accounts string. In Oracle Cloud, the Project module is the primary source of truth for project-related transactions, and POETAF is the key coding structure. The GL simply receives summarized accounting results based on the project data.
2. Let POETAF Drive the GL
POETAF values are translated into the GL chart of accounts using Subledger Accounting (SLA) rules.
SLA is rules engine in Oracle Cloud that takes detailed transactions from a subledger (like Projects, Procurement, or Payables) and determines how they should be recorded in the General Ledger via a CoA string.
Example:
Your GL has an “Organization” segment. SLA rules can pull this from either the Project Expense Org or Project Owning Org.
Your GL’s “Natural Account” segment might come from the POETAF Expenditure Type (e.g., “Office Supplies” → Natural Account 63500).
Your GL’s “Fund” segment might come from the Award Type (e.g., Award Type is “Federal Grant” → Fund 15).
This approach keeps your GL coding consistent and removes the need for users to memorize or manually enter long GL strings.
3. Avoid Dual Entry of GL and Project Strings
Users should only enter POETAF for project-related transactions. The GL string is automatically created behind the scenes.
Oracle has tools to make this happen:
Transaction Account Builder (TAB) – Used in modules like Procurement and Payables to automatically generate the GL account based on predefined rules.
SLA Rules – Define how POETAF maps to GL segments.
If you allow manual entry of both POETAF and the GL string:
You risk inconsistent accounting
You increase reconciliation work
You open the door to user errors and user confusion
4. Plan for Third-Party Integration Challenges
Not all feeder systems (like travel expense tools or maintenance platforms) can handle Oracle’s POETAF model directly. Common solutions include:
Concatenation – Combining multiple POETAF elements into a single field for integration purposes.
Mapping Tables in Middleware – If you use Oracle Integration Cloud (OIC) or another integration middleware tool, you can store crosswalk tables to translate data into the correct POETAF or GL format before it reaches Oracle.
Limit User Input – Where possible, have users pick from simple categories and derive the rest automatically.
Example: In Concur travel expenses, you can map each Concur travel expense category to a corresponding Expenditure Type or Natural Account in Oracle. Users simply select “Hotel” or “Airfare” and they never have to pick a GL Account or Project code since these values should have a static, logical relationship to the values in Concur.
5. Validate Early and Often
Oracle offers APIs (application programming interfaces) that let you check whether a POETAF combination is valid in real time before a transaction is sent from another system into Oracle.
Why it matters:
Prevents failed imports into Oracle
Avoids manual correction work after the fact
Keeps your third-party system and Oracle in sync
Example: If a grant award is closed in Oracle, the API can tell your third-party system to block that POETAF from being used, instead of letting it through and failing later. This would result in manual intervention for a user to select a different project to charge in Oracle and now Oracle doesn't match the source system, which could cause an audit issue.
Why This Matters
A clear understanding of how project accounting works in Oracle Cloud (especially the role of POETAF) can be one of the most valuable investments you make at the start of your Grants and Projects implementation.
When teams understand how POETAF connects to the General Ledger and how it shapes reporting, approvals, and compliance, they are better equipped to:
Design a framework that supports organizational goals and funding requirements
Provide a smooth, intuitive user experience
Build accurate and insightful reports for decision-making
Ensure compliance with sponsor, regulatory, and internal policies
Set up integrations that work seamlessly across systems
By starting with a strong grasp of these concepts, you create a foundation for cleaner data, smoother processes, and a more successful long-term adoption of Oracle Cloud for grants and project management.
Let’s Connect
If you’re planning or troubleshooting a grants/projects implementation in Oracle Cloud, I can help ensure your POETAF design supports accuracy, compliance, and ease of use.