Permissions
How Project Financials grants access to its functionality, and how to give your users the right level of access for their roles.
The model
FullClarity does not expect customers to assign the bundled FC role to their users. Instead, Project Financials permissions are granted into the customer's existing roles — Project Manager, Contract Administrator, AR Clerk, whatever your users already use — so they can work with FullClarity functionality as part of their normal day-to-day NetSuite role, without role-switching.
A dedicated Suitelet takes care of the underlying NetSuite plumbing. You pick a role and choose an access level against each of eleven feature areas; the Suitelet works out which custom records, custom transactions, and standard NetSuite permissions need to be granted on the role and writes them in one operation. When new functionality ships in a future release, the same Suitelet can be re-run to top up the role with any newly-introduced records.
How to grant access to a role
- Navigate to FullClarity → Project Financials → Assign Permissions.
- At the bottom of the Granted Roles sublist, click into the Role dropdown and select the custom role you want to grant access to. Only roles flagged iscustom appear in the list — NetSuite's stock roles cannot be granted FullClarity permissions through this Suitelet.
- For each of the eleven feature columns, choose the access level for this role: None, View, Create, Edit, or Full.
- Click Add to commit the row to the sublist.
- Repeat steps 2–4 for any other roles you want to grant or update in the same save.
- Click Submit. The Suitelet writes the chosen permissions to each role and saves.
To update an existing role, click on its row in the sublist, change the dropdowns, click Add, then Submit. Existing levels are overwritten — including being lowered.
The eleven feature areas
| Feature column | What users at View and higher can see | What Edit and Full let them do |
|---|---|---|
| Estimate | Read estimates on projects | Create, edit, and approve estimates and estimate lines |
| Estimate Template | Read estimate templates (shares records with Estimate — see Merge rules) | Create and edit estimate templates |
| Contracts | Read contracts and schedules of values | Create and edit contracts, billing stages, and schedules of values |
| Claims | Read claims and claim lines | Create and submit claims; certify and approve claims |
| Capitalising Assets | Read capital claims and capitalisation records | Create and edit capital claims; run capitalisation |
| Revenue Recognition | Read revenue recognition records and lines | Create and edit revenue recognition records; run the recognition Suitelet |
| Development | Read developments | Create and edit developments |
| Plans | Read plans linked to developments | Create and edit plans |
| Lots | Read lots linked to plans | Create and edit lots |
| Quote | Read quotes and quote lines | Create and edit quotes, quote items, expenses, and decline reasons |
| Report | Read FC reports | Edit FC report preferences |
Levels behave the same as NetSuite's standard levels:
- None — the role cannot see the records at all.
- View — the role can open and read records but not change them.
- Create — the role can create new records but not edit existing ones once saved.
- Edit — the role can create and modify records.
- Full — the role can create, modify, and delete records, including running approval and recognition actions.
What the Suitelet writes onto the role
The Suitelet does more than just adjust the FC custom records. It applies a coordinated package across every subtab of the role's Permissions tab, so the chosen feature actually works end-to-end (you can't run claims, for example, without also being able to write invoices).
When a role is saved through the Suitelet:
| Role subtab | What lands there | Level |
|---|---|---|
| Custom Records — FC feature records | The records belonging to each chosen feature column (FC Proj Fin Estimate, Claim, Contract, etc.) | The chosen level per column |
| Custom Records — supporting records | Configuration, Cost Centre, Cost Type, Information, Worksheet Column / Preferences, Stage Segment, Category Segment, and other shared records | Edit |
| Transactions — FC custom transactions | FC Drawdown Invoice and Revenue Recognition transaction types (and Capitalisation if Capitalising Assets is chosen) | Full |
| Transactions — standard NetSuite | Purchase Order, Bill Purchase Order, Vendor Bill, Invoice (+ Approval), Customer Payment, Sales Order, Item Fulfilment, Opportunity, Estimate (native), Time Bill, Vendor Bill Approval, Vendor Payment Approval | Edit |
| Lists | Customer/Job, Employee, Item, Location, Vendor, Find Transactions; Custom Lists, Custom Segments, File Cabinet | Edit (Subsidiary at View) |
| Setup | Manage Custom Segments, Custom Lists | Edit; Accounting Lists at View |
These supporting permissions are applied every time the Suitelet saves a role. If you've manually adjusted any of them (for example, lifting Vendor Bill from Edit to Full for an AP clerk), expect those changes to be reset the next time someone re-saves the role through the Suitelet — it's safer to make those manual upgrades on a role-by-role basis after the FullClarity allocation is complete.
You cannot grant a "Reports only" or other narrow role through this Suitelet. Any role granted any FC feature receives the full supporting baseline. If you need to restrict a user purely to viewing FC reports without giving them edit access to Purchase Orders, Invoices, Customer records, etc., you'll need to either remove those baseline permissions manually after the Suitelet runs, or use NetSuite's role-restriction mechanisms (subsidiary / department / class) on the role itself.
Merge rules
If a custom record is touched by more than one feature column, the highest level wins. The most visible case: the Estimate Template column currently shares its underlying custom records with the Estimate column. Setting Estimate=Full and Estimate Template=View applies Full to every estimate-related record — the Estimate Template choice has no effect when Estimate is higher.
This means partners who want to grant narrower access to Estimate Templates than to Estimates cannot do so through the Suitelet today. If that's important, restrict template access by other means (for example, by routing template creation through a small Admin group and excluding templates from the form layout for other roles).
The same rule applies across all features — if you have two features that share an underlying record (the only practical case today is Estimate / Estimate Template), the higher level wins.
Configuration record access
The Project Financials Configuration record is included in the Suitelet's supporting record set, so any role granted any FC feature gains Edit access to Configuration. This is intentional — most FC features depend on reading and occasionally writing the Configuration record — but it does mean you should consider Configuration access when deciding which roles get any FC permissions at all. If you want a role that can submit claims but not edit Configuration, use NetSuite's role layer to restrict that role's Configuration record access after the Suitelet has run.
Revoking access
To remove a role's FullClarity Project Financials access:
- Navigate to FullClarity → Project Financials → Assign Permissions.
- Click on the role's row in the Granted Roles sublist.
- Click Remove.
- Click Submit.
The Suitelet removes the FC custom record permissions from the role and deletes the underlying permission tracking record.
Manual cleanup may be required
At present, the revoke flow does not undo all of the supporting permissions that were applied when the role was granted. After revoking, the role will still carry standard NetSuite transaction, list, and setup permissions, and the FC custom transaction permissions, that were applied at grant time. If you need to return the role to its pre-FullClarity state completely, edit the role manually and remove those entries. A fix to make revocation fully symmetric is on the roadmap.
To temporarily suspend access without removing the row, set every feature column to None and Submit. The role keeps its supporting permissions but cannot read or modify FC custom records — useful when you want to re-grant later without losing the configuration history.
Permissions in other FullClarity SuiteApps
Each FullClarity SuiteApp manages its own permissions through a similar Assign Permissions Suitelet:
- Retainage — FullClarity → Retainage → Assign Permissions. See Retainage Permissions.
- File Storage — FullClarity → Storage → Assign Permissions. See File Storage Permissions.
- Timeline — FullClarity → Timeline → Assign Permissions. See Timeline Permissions.
- Certified Documents — does not yet have an Assign Permissions Suitelet. Permissions must be configured manually on each role. See Certified Documents Permissions.
Retainage, File Storage, and Timeline use a simpler grant-and-revoke model — every role gets Full access to the SuiteApp's records or nothing at all. Project Financials is the only SuiteApp with feature-level granularity.
A role that needs access to multiple SuiteApps should be granted through each SuiteApp's Suitelet in turn.