{"id":1440,"date":"2026-03-25T14:52:35","date_gmt":"2026-03-25T14:52:35","guid":{"rendered":"https:\/\/aaxonix.com\/resources\/?p=1440"},"modified":"2026-03-30T06:12:41","modified_gmt":"2026-03-30T06:12:41","slug":"netsuite-openair-psa-guide","status":"publish","type":"post","link":"https:\/\/aaxonix.com\/resources\/netsuite-openair-psa-guide\/","title":{"rendered":"NetSuite OpenAir PSA: Project Accounting for Professional Services Firms"},"content":{"rendered":"&nbsp;\n\n<style>\n.aax-post{font-family:'Poppins',sans-serif;color:#1a2332;max-width:820px;margin:0 auto;line-height:1.75}<br \/>.aax-post h2{font-size:1.55rem;font-weight:600;margin:2.5rem 0 .9rem;color:#0a1628}<br \/>.aax-post h3{font-size:1.15rem;font-weight:600;margin:1.8rem 0 .6rem;color:#1a2332}<br \/>.aax-post p{margin:0 0 1.1rem}<br \/>.aax-post ul,.aax-post ol{margin:0 0 1.1rem;padding-left:1.5rem}<br \/>.aax-post li{margin-bottom:.45rem}<br \/>.aax-post table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.93rem}<br \/>.aax-post th{background:#0a1628;color:#fff;padding:.6rem 1rem;text-align:left}<br \/>.aax-post td{padding:.55rem 1rem;border-bottom:1px solid #e8edf4}<br \/>.aax-post tr:nth-child(even) td{background:#f5f7fb}<br \/>.aax-post .faq-section{background:#f5f7fb;border-radius:10px;padding:1.8rem 2rem;margin:2.5rem 0}<br \/>.aax-post .faq-item{margin-bottom:1.2rem;border-bottom:1px solid #e0e6ef;padding-bottom:1.2rem}<br \/>.aax-post .faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}<br \/>.aax-post .faq-question{font-weight:600;color:#0a1628;margin-bottom:.5rem}<br \/>.aax-post .faq-answer{color:#3a4a5c;line-height:1.65}<br \/><\/style>\n<div class=\"sp-toc-wrap\"><nav id=\"spBlogToc\" class=\"sp-blog-toc\" style=\"display: none;\">\n<h4>On this page<\/h4>\n<ol id=\"spTocList\" class=\"sp-toc-list\"><\/ol>\n<\/nav><\/div>\n<div class=\"aax-post\">\n\n<a href=\"https:\/\/aaxonix.com\/services\/netsuite\/\" class=\"sp-content-link\">NetSuite implementation services<\/a> OpenAir PSA <a href=\"https:\/\/aaxonix.com\/industries\/professional-services\/\" class=\"sp-content-link\">NetSuite for professional services<\/a> firms use it for a specific reason: the gap between project delivery and financial reporting is where margin disappears. A consulting firm might close an engagement on time and still lose money because unbilled hours aged out, a revenue schedule ran ahead of actual progress, or resource costs were absorbed by the wrong project. OpenAir closes that gap by combining project management, time and expense tracking, resource scheduling, and <a href=\"https:\/\/aaxonix.com\/resources\/netsuite-revenue-recognition\/\">revenue recognition<\/a> inside a single system that posts directly to NetSuite&#8217;s general ledger. This guide covers how it works in practice, who benefits most, and how it compares to the two main alternatives.\n\n&nbsp;\n<figure style=\"margin: 36px 0; text-align: center; line-height: 0;\"><img decoding=\"async\" style=\"width: 100%; max-width: 820px; height: auto; border-radius: 10px; box-shadow: 0 4px 20px rgba(10,22,40,.13);\" src=\"https:\/\/aaxonix.com\/resources\/wp-content\/uploads\/2026\/03\/inline-netsuite-openair-psa-guide-1.jpg\" alt=\"netsuite openair psa professional services\" \/><\/figure>\n<h2>What Is NetSuite OpenAir PSA and Who Uses It<\/h2>\nOpenAir is a cloud-based professional services automation platform that Oracle acquired in 2012 and integrated into the NetSuite product family. It covers the full services delivery lifecycle: project setup, resource scheduling, time and expense capture, billing, and revenue recognition. Because it shares a database with <a href=\"https:\/\/www.netsuite.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">NetSuite ERP<\/a>, project financials flow directly to the general ledger without an ETL process or manual journal entries.\n\nThe platform is best suited to firms where people are the primary cost and billable hours are the primary revenue driver. The most common adopters are:\n<ul>\n \t<li><strong>Management and strategy consulting firms<\/strong> with 50 to 5,000 consultants billing time-and-materials or fixed-fee engagements.<\/li>\n \t<li><strong>IT services and systems integrators<\/strong> running multi-phase <a href=\"https:\/\/aaxonix.com\/resources\/netsuite-erp-implementation-cost-india\/\" class=\"sp-content-link\">NetSuite implementation cost India<\/a> projects with milestone billing.<\/li>\n \t<li><strong>Engineering and architecture firms<\/strong> that need percentage-of-completion revenue recognition and project-level WIP tracking.<\/li>\n \t<li><strong>Staffing and workforce solutions firms<\/strong> managing large contractor pools across client accounts.<\/li>\n \t<li><strong>Marketing and creative agencies<\/strong> billing retainer or project-based arrangements.<\/li>\n<\/ul>\nOpenAir is less suitable for product companies, manufacturing, or any business where project work is a secondary function rather than the core revenue model. For those scenarios, NetSuite&#8217;s native project module is usually adequate.\n\nLicensing is per user per month, with separate rates for professional users (full access), collaboration users (limited time entry), and reporting-only users. Pricing is negotiated directly with Oracle NetSuite and varies by contract term and user count.\n<h2>Project Setup in OpenAir: Phases, Tasks, Resource Roles, and Budgets<\/h2>\nEvery engagement in OpenAir starts with a project record. The project record holds the client, contract type, billing rules, and the work breakdown structure. A typical project hierarchy has three levels: project, phase, and task. Phases might represent discovery, design, build, and go-live. Tasks sit below phases and define the actual units of work.\n\nEach task carries a resource role assignment. A role defines the skill set required and, importantly, the cost rate and bill rate associated with it. When you assign a senior architect to a task, OpenAir pulls that role&#8217;s standard cost rate from the resource configuration and calculates the budget impact automatically. This means budget variance reports are available the moment a project is set up, not after actuals start accumulating.\n\nBudget tracking works at four levels simultaneously: hours budgeted versus logged, costs budgeted versus incurred, revenue budgeted versus recognised, and billing scheduled versus invoiced. Most firms monitor all four, but the most operationally useful combination is hours versus billing: it tells you whether the project is running over-effort before the invoice cycle closes.\n\nProject templates speed up the setup process considerably. A consulting firm with a repeatable service line can build a template with standard phases, tasks, roles, and billing rules, then instantiate it for each new engagement in minutes. Templates also reduce configuration errors because billing rules and revenue schedules are inherited rather than re-entered manually.\n<h2>Time and Expense Entry: Mobile Capture, Approval Workflows, and Policy Enforcement<\/h2>\nTime is entered by consultants via browser or the OpenAir mobile app. The mobile app supports both iOS and And<a href=\"https:\/\/aaxonix.com\/resources\/zoho-crm-roi-6-months-india\/\">roi<\/a>d, includes offline mode for travel scenarios, and allows receipt photos to be attached directly to expense lines. Expense reports are built from individual expense entries and routed through approval workflows defined by the administrator.\n\nApproval workflows are configurable. A standard setup routes time sheets to the project manager for approval, then to a finance reviewer if billable hours exceed a threshold or if the timesheet contains unbillable time requiring reclassification. Expense reports can follow a separate path, often routing to a department manager and then to accounts payable.\n\nPolicy enforcement happens at the point of entry, not after the fact. Administrators configure rules such as maximum daily hours, allowable expense categories per project type, per-diem caps by country, and mileage rates. If a consultant attempts to log a hotel expense against a project flagged as no-travel, OpenAir flags the entry before it reaches the approver. This reduces the back-and-forth that delays billing cycles by one to three days at many firms.\n\nA common pain point at firms migrating from spreadsheet-based time tracking is adoption. Consultants accustomed to filling in a Friday-afternoon spreadsheet resist daily time entry. OpenAir addresses this with configurable reminder notifications and timesheet lock policies that prevent submission of timesheets with gaps or implausible entries, which creates an incentive for real-time logging.\n\n&nbsp;\n<figure style=\"margin: 36px 0; text-align: center; line-height: 0;\"><img decoding=\"async\" style=\"width: 100%; max-width: 820px; height: auto; border-radius: 10px; box-shadow: 0 4px 20px rgba(10,22,40,.13);\" src=\"https:\/\/aaxonix.com\/resources\/wp-content\/uploads\/2026\/03\/inline-netsuite-openair-psa-guide-2.jpg\" alt=\"netsuite openair psa professional services best practices\" \/><\/figure>\n<h2>Resource Management: Utilisation Targets, Scheduling, and Bench Visibility<\/h2>\nResource management is where OpenAir separates itself from generic project tools. The platform maintains a resource pool of all billable staff with their roles, skills, cost rates, and availability. Project managers submit resource booking requests specifying the role, required hours per week, and date range. Resource managers review the requests against the pool&#8217;s current schedule and confirm or adjust the booking.\n\nUtilisation tracking is built around two metrics: scheduled utilisation and actual utilisation. Scheduled utilisation measures booked hours against available capacity before the time period closes. Actual utilisation measures logged billable hours against capacity after timesheets are submitted. The gap between them is the utilisation leakage number, which typically runs 4 to 8 percentage points at firms without a formal resource management process.\n\nBench visibility is one of the most operationally valuable outputs. The resource management dashboard shows every consultant whose booking ends within the next 30 or 60 days and who has no confirmed follow-on assignment. Sales and delivery teams can act on that data before the resource goes fully unassigned. At a 50-person firm billing $250 per hour on average, one consultant sitting unassigned for two weeks costs roughly $20,000 in lost revenue, so the visibility has direct financial impact.\n\nOpenAir also supports skill-based searching within the resource pool. If a project requires a certified <a href=\"https:\/\/aaxonix.com\/resources\/zoho-crm-vs-salesforce-india-2026\/\">Salesforce<\/a> architect with German-language capability, the search filters by both criteria and returns available candidates with their cost rates and current utilisation levels, allowing the resource manager to make a cost-aware booking decision.\n<h2>Revenue Recognition from Project Milestones and Percentage-of-Completion<\/h2>\nRevenue recognition is the area where professional services firms most frequently encounter accounting complexity, and where OpenAir provides the most differentiated value compared to generic project tools.\n\nOpenAir supports four primary recognition methods:\n<ul>\n \t<li><strong>Fixed-fee percentage-of-completion:<\/strong> Revenue is recognised in proportion to hours logged versus total budget, or cost incurred versus total estimated cost. The system calculates the recognised amount each period and posts it to the revenue account, with deferred revenue adjusting accordingly.<\/li>\n \t<li><strong>Milestone billing:<\/strong> Revenue is tied to contractual milestones. When a milestone is marked complete and approved, the associated revenue amount is released. Common in IT implementation projects with defined deliverables.<\/li>\n \t<li><strong>Time-and-materials:<\/strong> Revenue is recognised as hours are logged and approved. The simplest method, often used by staffing firms and smaller consulting practices.<\/li>\n \t<li><strong>Subscription or retainer:<\/strong> Fixed monthly amounts recognised evenly across the contract period, with manual adjustments for scope changes.<\/li>\n<\/ul>\nBecause OpenAir posts recognition directly to NetSuite&#8217;s general ledger, the monthly close process for revenue is largely automated. Finance teams review a revenue recognition journal summary rather than manually calculating amounts from spreadsheets. For firms subject to <a href=\"https:\/\/asc.fasb.org\/986182\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">ASC 606<\/a> or IFRS 15, this audit trail is also the compliance record, with each recognition transaction linked to the project, contract, and approval that triggered it.\n\nUnbilled revenue, the amount earned but not yet invoiced, appears on a dedicated report that feeds directly into the month-end balance sheet process. WIP tracking is maintained at the project and task level, giving finance visibility into which engagements have earned revenue ahead of billing cycles.\n<h2>OpenAir Reporting: Project Profitability, WIP, Unbilled Revenue, and Utilisation Rate<\/h2>\nOpenAir ships with a library of pre-built reports covering the metrics most relevant to professional services operations. The most frequently used are:\n<ul>\n \t<li><strong>Project profitability report:<\/strong> Revenue recognised minus direct costs (labor at cost rates plus expenses) for a selected period or over the project lifetime. Sortable by project, client, practice, or project manager.<\/li>\n \t<li><strong>Utilisation report:<\/strong> Billable hours as a percentage of available hours, broken down by individual, team, or practice group. Compares scheduled versus actual and tracks trend over time.<\/li>\n \t<li><strong>WIP and unbilled revenue report:<\/strong> Shows earned but uninvoiced amounts by project, with aging buckets to flag stale unbilled items that may be at risk of write-off.<\/li>\n \t<li><strong>Billing forecast:<\/strong> Projects future invoicing based on scheduled resources and milestone dates, useful for cash flow planning 30 to 90 days out.<\/li>\n \t<li><strong>Backlog report:<\/strong> Total contracted revenue not yet recognised, giving leadership a forward view of the revenue pipeline in delivery.<\/li>\n<\/ul>\nCustom reports can be built using OpenAir&#8217;s saved search and report builder. For firms needing deeper analytics, the integration with NetSuite&#8217;s SuiteAnalytics or a third-party BI tool via the OpenAir SOAP and REST APIs is the standard approach. Most mid-size firms run standard OpenAir reports for operational management and export to a BI tool for executive dashboards.\n\n&nbsp;\n<h2>NetSuite OpenAir vs Certinia vs Salesforce PSA: Comparison<\/h2>\nThree platforms dominate the mid-market professional services automation space. Here is how they compare across the dimensions that matter most to a services firm evaluating a PSA investment:\n<table>\n<thead>\n<tr>\n<th>Criterion<\/th>\n<th>NetSuite OpenAir<\/th>\n<th>Certinia (FinancialForce)<\/th>\n<th>Salesforce PSA (Rootstock \/ Conga)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>ERP integration<\/td>\n<td>Native NetSuite ERP integration, shared GL<\/td>\n<td>Native Salesforce platform, requires separate ERP<\/td>\n<td>Native Salesforce platform, requires separate ERP<\/td>\n<\/tr>\n<tr>\n<td>CRM integration<\/td>\n<td>Connector to Salesforce CRM; not native<\/td>\n<td>Native Salesforce CRM, opportunity-to-project in one platform<\/td>\n<td>Native Salesforce CRM<\/td>\n<\/tr>\n<tr>\n<td>Revenue recognition<\/td>\n<td>Strong: ASC 606 \/ IFRS 15 support, direct GL posting<\/td>\n<td>Strong: native Salesforce revenue cloud integration<\/td>\n<td>Depends on implementation; varies by partner<\/td>\n<\/tr>\n<tr>\n<td>Resource management<\/td>\n<td>Purpose-built, utilisation dashboards, skill search<\/td>\n<td>Solid, deeply integrated with Salesforce scheduler<\/td>\n<td>Varies; generally lighter than OpenAir or Certinia<\/td>\n<\/tr>\n<tr>\n<td>Best for<\/td>\n<td>Firms already on NetSuite ERP or planning migration<\/td>\n<td>Firms on Salesforce CRM with complex services-to-CRM workflows<\/td>\n<td>Salesforce-centric firms with lighter PSA needs<\/td>\n<\/tr>\n<tr>\n<td>Typical implementation time<\/td>\n<td>8\u201316 weeks<\/td>\n<td>10\u201320 weeks<\/td>\n<td>6\u201314 weeks<\/td>\n<\/tr>\n<tr>\n<td>Pricing model<\/td>\n<td>Per user\/month, negotiated with Oracle<\/td>\n<td>Per user\/month on Salesforce licensing<\/td>\n<td>Per user\/month on Salesforce licensing<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\nThe decision usually comes down to the existing ERP and CRM landscape. Firms running NetSuite financials get the most value from OpenAir because project costs and revenue flow directly to the GL without integration overhead. Firms deeply embedded in Salesforce, where the sales team manages pipeline and the delivery team manages projects, often find Certinia&#8217;s single-platform approach reduces hand-off friction even if the ERP connection requires additional integration work.\n<div class=\"faq-section\">\n<h2>Frequently Asked Questions<\/h2>\n<div class=\"faq-item\">\n<p class=\"faq-question\">Does NetSuite OpenAir integrate with NetSuite ERP?<\/p>\n<p class=\"faq-answer\">Yes. OpenAir is a native NetSuite product and integrates directly with NetSuite financials, including general ledger, accounts receivable, and <a href=\"https:\/\/aaxonix.com\/resources\/zoho-books-project-accounting-india\/\">project accounting<\/a>. Billing runs, revenue schedules, and expense reimbursements post automatically without manual export.<\/p>\n\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">What types of firms use NetSuite OpenAir PSA?<\/p>\n<p class=\"faq-answer\">Management consulting, IT services, staffing, architecture, engineering, and marketing agencies are the most common. Any firm that bills by time, milestone, or fixed fee and needs project-level P&amp;L visibility is a good fit.<\/p>\n\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">How does OpenAir handle percentage-of-completion revenue recognition?<\/p>\n<p class=\"faq-answer\">OpenAir calculates percent complete based on hours logged versus budget, or cost incurred versus total estimated cost. The resulting revenue figure posts to the general ledger on the schedule you define, with deferred revenue and unbilled revenue tracked separately.<\/p>\n\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">Can consultants enter time on mobile devices?<\/p>\n<p class=\"faq-answer\">Yes. The OpenAir mobile app for iOS and Android supports time entry, expense capture with receipt photos, and approval notifications. Offline entry syncs when connectivity is restored.<\/p>\n\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">What is a typical utilisation target in OpenAir?<\/p>\n<p class=\"faq-answer\">Most professional services firms configure billable utilisation targets between 65% and 80% depending on role seniority. OpenAir lets you set targets at the individual, team, or practice-group level and tracks actual versus target in real time.<\/p>\n\n<\/div>\n<\/div>\nFor firms evaluating netsuite openair psa professional services fit, the clearest signal is whether your current reporting can answer three questions without a manual spreadsheet build: what is my billable utilisation this month, which projects are running over budget, and how much unbilled revenue is sitting in WIP. If none of those answers are available in under five minutes, OpenAir is worth a serious look.\n\n<\/div>\n&nbsp;","protected":false},"excerpt":{"rendered":"<p>&nbsp; On this page NetSuite implementation services OpenAir PSA NetSuite for professional services firms use it for a specific reason: the gap&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1524,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1440","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/1440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/comments?post=1440"}],"version-history":[{"count":9,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/1440\/revisions"}],"predecessor-version":[{"id":2060,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/1440\/revisions\/2060"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/media\/1524"}],"wp:attachment":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/media?parent=1440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/categories?post=1440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/tags?post=1440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}