Documentation Index

Fetch the complete documentation index at: https://help.wrapbook.com/llms.txt

Use this file to discover all available pages before exploring further.

Set Up NetSuite Payroll Accounting in Wrapbook

Prev Next

Overview

The NetSuite integration connects your Wrapbook account to your NetSuite instance so that payroll data flows automatically into your General Ledger. When you issue a payroll in Wrapbook, the integration pushes a Vendor Bill to NetSuite in Draft status for your AP team to review and post.

Setup time: Approximately 30–45 minutes once you have your prerequisites ready and your NetSuite admin available.

Who this is for: Company Admins and Accountants at production companies that use NetSuite for accounting. You’ll also need a NetSuite administrator to generate credentials and configure the required NetSuite permissions.

Permissions required

To set up the NetSuite integration, your account must have one of the following roles enabled:

  • Role: Company Admin, Accountant

  • Custom role with: Accounting settings — Full access

What the integration does

What flows from Wrapbook to NetSuite

Each time you issue a payroll in Wrapbook, a Vendor Bill is pushed to NetSuite approximately 15 seconds after issuance. The bill arrives in Draft status — your AP team reviews and posts it in NetSuite. Wrapbook never auto-posts.

Each Vendor Bill includes:

  • Vendor: default vendor configured (for example, Wrapbook)

  • Bill number: the Wrapbook payroll display ID (for example, Payroll-00748134)

  • Invoice date: the payroll's invoice date

  • Lines: One line per pay rate per worker, plus fringes (employer taxes, workers' comp, platform fees, etc.) broken out and consolidated by category — grouping is configurable per project.

What flows from NetSuite to Wrapbook

Wrapbook reads the following from NetSuite to populate your mapping configuration. This is read-only — Wrapbook never writes back to your NetSuite dimensions data:

  • Chart of Accounts

  • Vendors

  • Projects

  • Locations

  • Departments

  • Items

  • Tasks

Supported dimensions

The integration passes the following NetSuite dimensions on Vendor Bill lines: Project, Location, Department, Item, and Task. You can set defaults at the company level and override them per project.

Limitations

⚠️ Class is not supported. The integration does not pass the Class dimension to NetSuite. If your NetSuite account requires Class on Vendor Bill lines, the sync may fail. Ask your NetSuite administrator whether Class can be made optional or whether you can use a supported dimension instead.

⚠️ Custom Segments and Custom Fields are not supported. Only the standard dimensions above are passed. If your account requires an unsupported field on Vendor Bills, ask your NetSuite administrator to make it optional before setup.

Before you start

Have the following ready before beginning setup:

  • Project chart template — start from the Wrapbook template or a blank template (i.e., line numbers & sections)

  • NetSuite admin access — required for credential generation in Step 1

  • A vendor record for Wrapbook in NetSuite ("Wrapbook"). Create one manually if it doesn't exist — the integration does not auto-create vendors.

  • Dimension requirements — know which of Department, Location, Project, Item, and Task your GL accounts require on transaction lines.

Connecting multiple subsidiaries? Each NetSuite subsidiary needs its own Wrapbook company connection with separate credentials. After setting up the first subsidiary, copy the COA mapping over to the second rather than rebuilding from scratch.

Step 1: Generate NetSuite credentials

This step takes place entirely in your NetSuite instance. Your NetSuite admin will generate five credential values that you'll enter in Wrapbook in Step 2. The integration authenticates via NetSuite's standard Token-Based Authentication (TBA) over the SuiteTalk API.

You'll need:

  • Account ID — the subdomain of your NetSuite URL (e.g., 1234567 for 1234567.app.netsuite.com)

  • Consumer Key and Consumer Secret

  • Token ID and Token Secret

A. Create the integration record in NetSuite

  1. In NetSuite, go to Setup → Integration → Manage Integrations → New

  2. Enable Token-Based Authentication and click Save

  3. Copy the Consumer Key and Consumer Secret immediately — NetSuite displays them only once. If you close this page without copying, you'll need to repeat this step.

B. Generate the access token

  1. In NetSuite, go to Setup → Users/Roles → Access Tokens → New

  2. Select the integration record you created in step A and click Save

  3. Copy the Token ID and Token Secret immediately — same one-time-display rule applies.

C. Confirm the integration role's permissions

Your NetSuite administrator should create or update the integration role with the following baseline access:

  • Token-Based Authentication: enabled

  • Perform Search: Full

  • SuiteAnalytics Workbooks: enabled

  • Vendor Bills: access needed to create bills

  • Chart of Accounts, Projects, Locations, Departments, Items, and Tasks: access needed to read and map these records

For multi-subsidiary setups, confirm that the role can access each subsidiary the integration will post to. Your NetSuite administrator may need to add other permissions based on your account configuration.

For more information about creating or customizing roles, see Oracle NetSuite's Set Up Token-Based Authentication Roles and Permissions Documentation.

Tip: If you see sync errors later without a clear cause, check these role permissions first. NetSuite permission issues often surface as vague errors rather than a clear "permission denied" message.

Step 2: Connect Wrapbook to NetSuite

  1. In the left-side navigation, click the dropdown menu and select All projects

  2. In the left-side navigation, click Company settings

  3. On the Company settings page, in the Accounting settings section, click Manage next to Integrations

  4. On the Integrations page, click Connect next to NetSuite

  5. Enter the five credentials from Step 1: Account ID, Consumer Key, Consumer Secret, Token ID, Token Secret

  6. Click Save

Set company-level defaults

After connecting, configure your company defaults:

  • Default vendor: select Wrapbook from the vendor list (the vendor record you created in NetSuite before setup)

  • Default GL/expense account code — this is the fallback account inherited by all projects

  • Dimensions — go to Company settings → Integrations settings → Edit Dimensions to enable Project, Location, Department, Item, and/or Task as applicable to your GL requirements

Confirm data pulled correctly

After entering credentials, Wrapbook fetches your Chart of Accounts, Projects, Locations, Departments, Items, and Tasks from NetSuite. This typically appears in your mapping UI within 2–5 minutes.

Confirm all lists are populated before moving to Step 3. If any list is empty, it's almost always a role permission issue — return to Step 1C.

Step 3: Configure your Chart Mapping

Before configuring individual projects, set up your Project Chart Template — this is done once and reused across projects.

A. Select the Chart of Accounts

  1. Go to Company SettingsProject chart templates → Edit

  2. Select an AICP or custom chart already mapped at the company level

Each chart line maps to a single GL account. Dimensions are applied separately at push time from project or company defaults — they are not configured per line.

B. Map fringe lines

The project chart template includes fringe-bucket rows (Total Fringes, Employer Taxes, Platform) that do not auto-populate from your COA. Add these to your project chart and map each to the corresponding GL account — typically employer payroll tax, platform/processing fee, and fringes accounts.

⚠️ If fringe lines are left unmapped, the resulting Vendor Bills will include lines without a GL destination and NetSuite may reject the push.

Fringe lines are mapped separately from worker pay lines. Make sure the corresponding fringe rows in your project chart are mapped before syncing.

Step 4: Configure each project

After the company-level connection is set up, each Wrapbook project needs the following confirmed before its first payroll sync.

A. Assign the Chart Template

Go to Project Settings → Cost tracking, enable Accounting chart, and select a Chart Template from the dropdown. Use Manage chart to review or adjust the chart's line-level mappings if needed.

B. Set project-level dimension overrides (optional)

Go to Company Settings → Integrations Settings → Edit to override project dimensions using the Feature Dimension Management functionality. Each dimension can be overridden at the project level under the Override project dimensions section. If not overridden, dimensions inherit the company-level defaults.

C. Verify timecard coding is complete

The auto-push fires approximately 15 seconds after payroll issuance with no manual review step. Make sure all timecards are fully coded before issuing your first payroll.

How coding gaps affect the push depends on the field type:

  • Required fields (GL account and Vendor): If either is missing, the push will fail entirely — you'll see a "Failed" status in Integration push history.

  • Dimensions (Project, Location, Department, Item, Task): Behavior depends on how each dimension is configured in NetSuite. If a dimension is marked required in NetSuite, a missing value will cause the push to fail. If it's optional, the bill will sync but that dimension will be left uncoded on the line.

See Troubleshoot a failed push if a payroll doesn't sync after issuance.

After go-live: Dimensions data sync

Initial sync on connection

When you enter credentials in Step 2, Wrapbook immediately fetches your Chart of Accounts, Projects, Locations, Departments, Items, and Tasks. This data appears in your mapping UI within 2–5 minutes.

Ongoing data refresh

Wrapbook syncs dimensions data from NetSuite every 24 hours from the time of initial connection.

Object

Direction

Frequency

Notes

Chart of Accounts

NetSuite → Wrapbook

24 hours

Includes inactive accounts

Projects

NetSuite → Wrapbook

24 hours

Includes archived projects

Locations

NetSuite → Wrapbook

24 hours

Departments

NetSuite → Wrapbook

24 hours

Items

NetSuite → Wrapbook

24 hours

Tasks

NetSuite → Wrapbook

24 hours

AP Bills (payroll)

Wrapbook → NetSuite

Real-time

Pushed ~15 seconds after payroll issuance

Manual refresh

If you need data to update immediately (for example, you just added a GL account in NetSuite):

  1. Go to Company settings → Integration settings Edit

  2. Click Refresh Connection

Updated lists appear within 2–5 minutes.

Adding new GL accounts or dimensions before mapping a new project? Use the manual refresh button — otherwise you'll wait up to 24 hours for the new data to appear in Wrapbook.

Viewing sync status and syncing payrolls

Check sync status

After a payroll is issued, you can confirm whether the push to NetSuite succeeded:

  1. Go to Company Settings → Integration push history

  2. Find the payroll row and look at the Sync Status column

Status

Meaning

Sync complete

Vendor Bill pushed successfully to NetSuite

Failed

Push attempt failed — click the row to view the error message

Pending

Push is in progress or hasn't been attempted yet — wait a few seconds and refresh

(empty)

The integration was not connected when the payroll was issued — no push was attempted

Retry a payroll sync

If a payroll missed the auto-push (for example, the integration was not yet set up at the time of issuance):

  1. Go to Company Settings → Integration push history

  2. Find the payroll you want to re-sync and click Retry Sync

  3. Wrapbook re-attempts the push immediately

  4. Check Sync Status after ~15 seconds to confirm it succeeded

Deleting the integration

⚠️ This action is permanent. Only disconnect if you're certain you won't reconnect.

  1. Go to Company settings → Accounting → Integrations → Manage

  2. Click Delete Integration and confirm

What happens when you delete:

  • The connection is removed

  • All configuration is deleted: company defaults, project overrides, COA mappings, dimension settings

  • Dimensions data is cached in Wrapbook but no longer synced from NetSuite

  • Payroll issuance in Wrapbook continues to work, but no Vendor Bills will sync to NetSuite

Troubleshooting

Troubleshoot a failed push

  1. Find the failure. Go to Company Settings → Integration push history. Locate the payroll row and check the Sync Status column — a status of "Failed" means the push didn't go through.

  2. Read the error message. Click the row to view the specific error and timestamp. This tells you which validation failed (for example, missing dimension, invalid GL account, unmapped chart line).

  3. Check the likely causes, in order:

    • Is a Chart Template assigned to the project? Go to Project Settings → Cost tracking and confirm a chart is selected under Enable accounting chart. No chart assigned means any coding is accepted, which can cause downstream mapping gaps.

    • Does the fringe mapping exist? Go to Project Settings → Project Charts and confirm fringe-bucket rows (Total Fringes, Employer Taxes, Platform) are mapped to GL accounts, not left blank.

    • Are dimension overrides missing? Check Company Settings → Integrations Settings → Edit → Override project dimensions to confirm required dimensions (Project, Location, Department, Item, Task) are set for this project.

  4. Fix and re-sync. Once the gap is corrected, use the Retry Sync button on the payroll row and confirm Sync Status updates to "Synced" within ~15 seconds.

NetSuite common errors

Error / Symptom

Cause

Solution

PERMISSION_DENIED on SuiteTalk

Integration role lacks required permissions

Return to Step 1C and verify permissions. Test by fetching dimensions data in Step 2 — empty lists = missing permissions.

Invalid GL Account [code] or account not found

GL account doesn't exist or was archived since the last sync

Verify the account is active in NetSuite. Use Refresh Data in Wrapbook, then re-map if needed.

Missing required dimension [Department] (or similar)

A dimension is enabled in Wrapbook but no value was provided at company or project level

Set a default in Company settings → Integrations settings → Edit Dimensions, or override at the project level. If the dimension is optional, disable it in Edit Dimensions.

Invalid project [name]

Project was archived or deleted in NetSuite since the last sync

Use Refresh Data. If the project still doesn't appear, it was deleted in NetSuite — select a different project or contact your CSM.

Vendor [Wrapbook] not found

The Wrapbook vendor record doesn't exist or was deleted in NetSuite

Create a vendor named "Wrapbook" in NetSuite (Lists → Relationships → Vendors → New), then use Refresh Data in Wrapbook.

Token expired or authentication failed

Token ID or Token Secret is no longer valid

Go to Setup → Users/Roles → Access Tokens in NetSuite, create a new token, and replace the credentials in Company settings → Accounting → Integrations → NetSuite.

Multi-subsidiary error or subsidiary not found

Integration role lacks write access to the subsidiary being synced

Verify the role has write access to all subsidiaries in Step 1C. You may need a separate Wrapbook company connection per subsidiary.

Permission checklist (for NetSuite admin)

Use this checklist in NetSuite at Setup → Users/Roles → [Integration Role] → Permissions:

Required for all integrations:

☐ Token-Based Authentication = enabled

☐ Perform Search = Full

☐ SuiteAnalytics Workbooks = enabled

Transaction-level:

☐ Vendor Bills: Create, View, List

☐ Journal Entries: View (optional but recommended for auditing)

Dimensions data:

☐ Chart of Accounts: View, List

☐ Projects: View, List

☐ Locations: View, List

☐ Departments: View, List

☐ Items: View, List

☐ Tasks: View, List

☐ Subsidiaries: View, List (multi-subsid

Multi-subsidiary:

☐ Role has write access to each subsidiary it will post to

Can't find a permission? NetSuite groups permissions under module names. Check under Accounting, Setup, or Search if you don't see the permission at the top level.

Need help?

Contact the Wrapbook Support Team or reach out to your Wrapbook Customer Success Manager if you run into setup issues or have questions about how your specific NetSuite configuration works with the integration.