Lago seamlessly integrates with NetSuite, enabling real-time synchronization of billing data with your preferred accounting tool.
PREMIUM ADD-ON ✨
This integration is available upon request only. Please contact us to get access to this premium integration.
Lago’s native integration with NetSuite utilizes a custom RESTlet script to provide maximum flexibility in fetching or pushing billing data. To set up the Lago RESTlet script in your NetSuite instance, follow these steps:
SuiteScripts
, create a new folder named Lago
;ramda.min.js
: This library is essential for using Lago and can be downloaded from here; andLago
folder and paste the script provided by your Lago Account Manager.Upload scripts provided by Lago
released
.By deploying this script, you’ll generate a custom endpoint url that is crucial for the authentication process and enables seamless data synchronization between Lago and NetSuite.
To ensure the sync doesn’t fail, verify that the following settings are correctly configured. This will enable Lago to sync data to NetSuite properly.
Lago doesn’t recognize the location field on invoices, which is mandatory by default. To resolve this, remove the location requirement from your invoice form:
Remove Locations on invoices
You can repeat the same operation for Credit Memos
To have Lago override the tax details for your invoice line items, follow these steps. If not, Lago will send the amount excluding taxes to NetSuite.
Step 1: Create a Lago Tax Nexus
Lago Tax Nexus
in the Description field;Lago Tax Agency
and assign it to the relevant parent subsidiary;SuiteTax Engine
.Step 2: Create a Lago Tax Type
Lago Tax Type
;Step 3: Create a Lago Tax Code
Lago Tax
;To enable tax amount overrides for your Lago invoices synced to NetSuite, ensure all items are marked as taxable. If any item is non-taxable, the invoice sync will fail. To update an item:
Define Taxable items
To fully integrate Lago with NetSuite, start by connecting your Lago instance to a new NetSuite connection. You can have an unlimited number of NetSuite connections. First, link your NetSuite account to Lago. Once connected, activate the specific syncs and actions required for your use case. This ensures that your Lago instance is properly configured to communicate with NetSuite, enabling seamless data synchronization and management.
After logging into your NetSuite account, navigate to Setup > Integration > Manage Integrations > New. Enter the required integration details and follow these steps:
The Client Credentials will be displayed. Copy the Consumer Key/Client ID
and Consumer Secret/Client Secret
and save them in a secure document for future reference, as this information will not be accessible once you leave the screen.
Create a new NetSuite Integration
The Token Credentials will be displayed. Copy the Token ID
and Token Secret
and save them in a secure document for future reference, as this information will not be accessible once you leave the screen.
Create a new NetSuite My Access Token
The authentication process connects Lago and NetSuite through OAuth2. To establish this connection, you need to provide the following mandatory fields:
Here is a list of syncs and actions that Lago uses with NetSuite. Some are mandatory, while others are optional:
Accounts
: Fetch account data from NetSuite (mandatory);Customers
: Syncs or fetch customer data from NetSuite (mandatory);Items
and Tax Items
: Fetch item and tax item data from NetSuite (mandatory);Invoices
: Syncs invoice data to NetSuite (mandatory);Sales Orders
: Syncs sales order data to NetSuite (optional);Credit Notes
: Syncs credit note data to NetSuite (optional); andPayments
: Syncs payment data to NetSuite (optional).Connect Lago to NetSuite
To sync invoices, credit notes, sales orders, and payments to NetSuite, Lago establishes a one-to-one relationship between Lago objects and NetSuite objects. Follow these steps to map an item:
The fallback item is a dummy item used as a backup in case the mapping of other objects fails. To ensure continuous data synchronization between Lago and NetSuite, this fallback item will be used whenever there is a mapping issue.
This mapping follows a one-to-many structure, meaning that a single fallback item can be used to handle multiple mapping issues.
Map a fallback item between Lago and NetSuite
To override the tax amount for an invoice, sales order, or credit note, you need to map a single tax item from NetSuite. This mapped item will be used to assign the correct tax amount.
To ensure taxes are sent from Lago to NetSuite, complete the tax mapping for the following tax fields you created here:
Use the id
for each item, found either in the UI or in the URL of the specific item.
This mapping follows a one-to-many structure, meaning that a single tax item can be mapped to override all tax amounts issued by Lago.
Map a tax item between Lago and NetSuite
Coupons, credit notes, subscription fees, minimum commitments, and prepaid credits require a one-to-many mapping. Each of these objects must be mapped to a single default item from your NetSuite instance. Lago will use this mapped item whenever any of these objects appear on the final invoice sent to NetSuite.
This mapping follows a one-to-many structure, meaning a single item can handle multiple mappings for coupons, credit notes, subscription fees, minimum commitments, and prepaid credits.
Map default items between Lago and NetSuite
Billable metrics and add-ons require a one-to-one mapping. Each billable metric, used for usage-based billing, must represent a specific SKU in your NetSuite instance. You need to map each of these individually. Lago will use the mapped items whenever any of these metrics or add-ons appear on the final invoice sent to NetSuite.
This mapping follows a one-to-one structure, meaning each billable metric or add-on must be mapped to a specific NetSuite item.
Map custom items between Lago and NetSuite
When creating or updating a Lago customer, you can choose to link it to a NetSuite customer.
The first option is to automatically create a new customer from Lago to NetSuite. Follow these steps:
If the customer is successfully created in NetSuite, a new field will be displayed in the Lago customer view, providing a direct link to the corresponding NetSuite customer.
Customer creation from Lago to NetSuite happens in real-time with only a few seconds of delay.
Lago customer integrated with NetSuite
The second option is to import an existing NetSuite customer to a Lago customer. Follow these steps:
Here is the list of fields that is currently synced to NetSuite:
Lago | NetSuite |
---|---|
customer | type |
customer.name | companyname |
customer.netsuite_subsidiary | subsidiary |
customer.id | custbody_lago_id |
customer.email | |
customer.phone | phone |
customer.external_salesforce_id | custentity_lago_sf_id |
If a Lago customer is linked to a NetSuite customer, Lago syncs invoices to NetSuite Invoices in real-time.
It’s important to note the following:
units
are synced to NetSuite as quantity
;precise_unit_amount
is synced to NetSuite as rate
;If the invoice is successfully created in NetSuite, a new field will be displayed in the Lago invoice view, providing a direct link to the corresponding NetSuite invoice.
Invoice creation from Lago to NetSuite happens in real-time with only a few seconds of delay.
Sync Lago invoices to NetSuite
Here is the list of fields that is currently synced to NetSuite:
Lago | NetSuite |
---|---|
invoice | type |
invoice.lago_id | tranid |
customer.netsuite_internal_id | entity |
true | istaxable |
taxitem.id | taxitem |
invoice.taxes_amount_cents | taxamountoverride |
invoice.number | otherrefnum |
invoice.lago_id | custbody_lago_id |
invoice.fee.id | lineItems.item |
invoice.fee.account_code | lineItems.account |
invoice.fee.units | lineItems.quantity |
invoice.fee.precise_unit_amount | lineItems.rate |
If a Lago customer is linked to a NetSuite customer and the Sales Orders action is enabled in your Lago-NetSuite connection, Lago syncs invoices to NetSuite Sales Orders in real-time.
Note that the same fields used to sync invoices are also used to sync sales orders.
Here is the list of fields that is currently synced to NetSuite:
Lago | NetSuite |
---|---|
salesorder | type |
invoice.lago_id | tranid |
customer.netsuite_internal_id | entity |
true | istaxable |
taxitem.id | taxitem |
invoice.taxes_amount_cents | taxamountoverride |
invoice.number | otherrefnum |
invoice.lago_id | custbody_lago_id |
invoice.fee.id | lineItems.item |
invoice.fee.account_code | lineItems.account |
invoice.fee.units | lineItems.quantity |
invoice.fee.precise_unit_amount | lineItems.rate |
If a Lago customer is linked to a NetSuite customer, Lago syncs credit notes to NetSuite Credit Memos in real-time.
It’s important to note the following:
If the credit note is successfully created in NetSuite, a new field will be displayed in the Lago credit note view, providing a direct link to the corresponding NetSuite Credit Memo.
Credit note creation from Lago to NetSuite happens in real-time with only a few seconds of delay.
Here is the list of fields that is currently synced to NetSuite:
Lago | NetSuite |
---|---|
creditmemo | type |
invoice.lago_id | tranid |
customer.netsuite_internal_id | entity |
true | istaxable |
taxitem.id | taxitem |
invoice.taxes_amount_cents | taxamountoverride |
invoice.number | otherrefnum |
invoice.lago_id | custbody_lago_id |
invoice.fee.id | lineItems.item |
invoice.fee.account_code | lineItems.account |
invoice.fee.units | lineItems.quantity |
invoice.fee.precise_unit_amount | lineItems.rate |
If a Lago invoice is tied to a NetSuite invoice, Lago automatically syncs payments occurring in Lago to NetSuite, updating in-real time the payment status of the invoice in NetSuite.
Lago | NetSuite |
---|---|
customerpayment | type |
customer.netsuite_internal_id | customer |
invoice.netsuite_internal_id | lineItems.doc |
true | lineItems.apply |
invoice.total_amount_cents | lineItems.amount |
Whenever an issue occurs in NetSuite, Lago will notify you through a webhook message called customer.accounting_provider_error
.