NetSuite Integration

The NetSuite integration connects EventWorks to Oracle NetSuite, providing enterprise-grade accounting sync with full support for multi-currency, project tracking, and subsidiary scoping. Sales invoices, purchase invoices (vendor bills), and purchase orders are all pushed to NetSuite with automatic customer, vendor, and project management.

Getting There

Go to Settings > Integrations and find the NetSuite card. Click Connect to begin setup, or click the Settings (wrench icon) button if you're already connected.

NetSuite integration card

Overview

Once connected, NetSuite handles:

  • Sales invoices — Pushed to NetSuite as invoices with project association
  • Purchase invoices — Pushed to NetSuite as vendor bills
  • Purchase orders — Pushed to NetSuite with employee linking
  • Customers — Automatically created or matched in NetSuite by company name
  • Vendors — Automatically created or matched in NetSuite by name
  • Projects — Automatically created in NetSuite when events are contracted, and linked to invoice line items
  • Multi-currency — Currencies are automatically looked up and added to customer/vendor records as needed
  • Exchange rates — Fetched directly from NetSuite's currency rate tables
Note: Credit notes and payment syncing are not currently supported by the NetSuite integration.

Key Concepts

Credential-Based Authentication

Unlike other accounting integrations that use OAuth, NetSuite connects using your NetSuite login credentials (email, password) plus your account, subsidiary, role, and application IDs. These are entered directly in the connection form.

Automatic Project Creation

When an event's status changes to Contracted, EventWorks automatically creates a corresponding project record in NetSuite. This project is then linked to all invoice and purchase order line items for that event, giving you full project-level financial visibility in NetSuite.

Multi-Currency Support

EventWorks automatically handles currencies with NetSuite. When an invoice uses a different currency, EventWorks looks up the currency in NetSuite and ensures it's added to the customer or vendor record before creating the transaction.

Subsidiary Scoping

All projects and transactions are scoped to the subsidiary ID you configure during setup, ensuring data stays within the correct NetSuite subsidiary.

How To...

Connect to NetSuite

    • Go to Settings > Integrations.
    • Click the NetSuite card, then click Connect to NetSuite.
    • Fill in the connection details:
- Email address — Your NetSuite login email - Password — Your NetSuite password - Account ID — Your NetSuite account identifier - Subsidiary ID — The subsidiary to scope projects and data to - App ID — Your NetSuite application ID - Role ID — The NetSuite role ID for API access - Host ID — Your NetSuite host identifier
    • Click Connect to NetSuite.
Note: Contact your NetSuite administrator if you're unsure of any of these values. They are specific to your NetSuite instance and configuration.

Configure Account Mappings

After connecting:

    • Click the Settings button on the NetSuite card.
    • In the right-hand panel, set:
- Default sales account — The NetSuite item used for sales invoice line items. - Default purchases account — The NetSuite item used for vendor bill line items.
    • In the left-hand panel, map each cost type to specific NetSuite items for more granular control.
    • Click Save.

Disable the NetSuite Integration

    • Go to Settings > Integrations and find the NetSuite card.
    • Click the Disable button and confirm.
Warning: Disabling NetSuite stops all future syncing and automatic project creation. Data already in NetSuite is not affected.

What Gets Synced

EventWorks Record NetSuite Record Direction Notes
Sales invoice Invoice EventWorks to NetSuite Includes project linking on each line item
Purchase invoice Vendor Bill EventWorks to NetSuite Includes project linking on each line item
Purchase order Purchase Order EventWorks to NetSuite Linked to employee and project
Account (client) Customer EventWorks to NetSuite Matched by company name, auto-created if not found
Account (supplier) Vendor EventWorks to NetSuite Matched by name, auto-created if not found
Event (contracted) Project (custom record) EventWorks to NetSuite Automatically created when event is contracted
Exchange rates Currency Rates NetSuite to EventWorks Fetched from NetSuite's rate tables

Settings & Configuration

All NetSuite settings are managed at Settings > Integrations > Accounting. You need the edit settings permission.

Connection Settings

Setting Description
Email address Your NetSuite login email
Password Your NetSuite password
Account ID NetSuite account identifier
Subsidiary ID NetSuite subsidiary for scoping
App ID NetSuite application ID
Role ID NetSuite role for API access
Host ID NetSuite host identifier

Account Mapping Settings

Setting Description
Default sales account NetSuite item for sales invoice line items
Default purchases account NetSuite item for vendor bill line items
Per-cost-type accounts Map each cost type to specific NetSuite items

Tips & Best Practices

Tip: Ensure your NetSuite role has sufficient permissions for creating invoices, vendor bills, purchase orders, customers, vendors, and custom records (projects). A role with limited permissions will cause sync failures.
Tip: The project name in NetSuite follows the format "Event Code: Event Name" (e.g. "EV001: Summer Festival"), making it easy to identify which EventWorks event each project relates to.

Frequently Asked Questions

Q: How does the automatic project creation work?

When you change an event's status to Contracted in EventWorks, a background job automatically checks if a project already exists in NetSuite for that event. If not, one is created using the event code and name. All subsequent invoices and purchase orders for that event will be linked to this project.

Q: Can I sync credit notes to NetSuite?

No. Credit notes are not currently supported by the NetSuite integration.

Q: How are exchange rates handled?

EventWorks fetches exchange rates directly from NetSuite's currency rate tables rather than using a third-party service. This ensures your rates match what NetSuite uses for its own calculations.

Q: What happens if a customer doesn't exist in NetSuite?

EventWorks searches NetSuite by company name. If no match is found, a new customer record is created automatically. If the invoice uses a different currency, that currency is also added to the customer record.

Q: Do I need to create projects manually in NetSuite?

No. Projects are created automatically when events are contracted. If you contract an event and the integration is active, the project is created in the background.

Related Articles

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.