{"id":22114000,"url":"https://github.com/iloveitaly/netsuite-permissions","last_synced_at":"2025-03-24T04:44:47.448Z","repository":{"id":265008788,"uuid":"861037131","full_name":"iloveitaly/netsuite-permissions","owner":"iloveitaly","description":"Easily debug permission issues in NetSuite","archived":false,"fork":false,"pushed_at":"2024-09-23T13:35:59.000Z","size":868,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-19T15:17:06.952Z","etag":null,"topics":["netsuite","suiteanalytics","suiteql","suitescript"],"latest_commit_sha":null,"homepage":"https://github.com/iloveitaly/netsuite-permissions","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iloveitaly.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-21T20:37:28.000Z","updated_at":"2024-09-23T13:36:15.000Z","dependencies_parsed_at":"2024-11-27T08:17:31.356Z","dependency_job_id":null,"html_url":"https://github.com/iloveitaly/netsuite-permissions","commit_stats":null,"previous_names":["iloveitaly/netsuite-permissions"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iloveitaly%2Fnetsuite-permissions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iloveitaly%2Fnetsuite-permissions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iloveitaly%2Fnetsuite-permissions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iloveitaly%2Fnetsuite-permissions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iloveitaly","download_url":"https://codeload.github.com/iloveitaly/netsuite-permissions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245212172,"owners_count":20578440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["netsuite","suiteanalytics","suiteql","suitescript"],"created_at":"2024-12-01T11:08:17.251Z","updated_at":"2025-03-24T04:44:47.419Z","avatar_url":"https://github.com/iloveitaly.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Debugging NetSuite Permissions on Custom Roles\n\nFiguring out which NetSuite permissions you should include on a role for record access can be tricky. This repo provides simplified tables generated from various sources to make it easy to determine which permissions are required for data access.\n\n## Looking up Permissions\n\n### 1. NetSuite Record Catalog\n\n[Lookup the table in this CSV](output/netsuite_record_catalog.csv) to find any required permissions.\n\nNot all tables will have permissions specified. For instance `transactionAddressBook` is not indicated.\n\n### 2. Tim's Documentation\n\n[Tim Dietrich has a great site](https://timdietrich.me/blog/netsuite-suiteql-tables-permissions-reference/) which lists out tables and their permissions.\n\n[You can find a simplified CSV here](output/tim_table.csv) with identical column names as the previous CSV\n\nThis seems to be pulled from the record catalog JSON but has slightly different content, so it could be customized, which\nis why you should check here after checking the NetSuite-provided catalog.\n\n### 3. Community Documented Permissions\n\nCheck out this CSV for [community-documented permissions](output/community_permissions.csv) which are not found in the above sources.\n\n### 4. NetSuite Documentation\n\nSome NetSuite permissions aren't in the above sources and you need to [manually search the NetSuite documentation](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N128815.html#NetSuite-Documentation-Overview) to find specific permissions that are required.\n\nIf you find a permission that is missing from the Community Documented Permissions, [please add it to the CSV and submit a PR!](output/community_permissions.csv)\n\nFor instance, the \"Transaction History\" requires some additional permissions which are not found anywhere else [but in this document](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N555081.html#Granting-User-Access-to-Transaction-History).\n\n### 5. Account-specific Permissions\n\nUnfortunately, the permissions required to access specific data on each account is different. This is due to a couple of reasons:\n\n* Different NetSuite-level permissions are enabled/disabled.\n* Custom formula fields could reference related records which require additional permissions. For example, a field on\n  a sales order could reference a custom field on a customer record, so the customer permission would be required.\n* Custom scripts could be running which require additional permissions.\n* Fields or scripts included in a bundle could require additional permissions.\n\nIt's possible that there are additional permissions you'll need to add beyond what is specified in this repo.\n\n## NetSuite Record Catalog API\n\nHere's how to get a dump of all tables in the account:\n\n```shell\nhttp -v GET https://$NETSUITE_ACCOUNT.app.netsuite.com/app/recordscatalog/rcendpoint.nl action==getRecordTypes data=='{\"structureType\":\"FLAT\"}' \"Cookie: $NETSUITE_COOKIE\"\n```\n\nAnd structure for a specific table:\n\n```shell\nhttps://$NETSUITE_ACCOUNT.app.netsuite.com/app/recordscatalog/rcendpoint.nl action==getRecordTypeDetail data=='{\"scriptId\":\"workflowActionScript\",\"path\":\"\"}' \"Cookie: $NETSUITE_COOKIE\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filoveitaly%2Fnetsuite-permissions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filoveitaly%2Fnetsuite-permissions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filoveitaly%2Fnetsuite-permissions/lists"}