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.
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:
- 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:
- 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.